[FEATURE] Close final security, documentation, CI and self-hosting acceptance #10

Open
opened 2026-09-12 07:56:30 +02:00 by erikinkinen · 0 comments
Owner

Problem and motivation

Phase completion requires one coherent final graph with full regression and authority evidence. A predecessor’s green run, warnings inside successful jobs or incomplete cross-repository checks cannot certify the delivered system.

Proposed behavior and scope

Run final warning-free Rust/documentation checks, the complete old-plus-new VM suite, exact-head repository CI, independent whole-codebase audits and final performance gates. Reconcile AC1–AC24, supplementary requirements, public tracking and the two-generation proof, then prepare the alpha manual-review dossier.

This issue records planned work; its unchecked criteria are not implementation proof. The normative basis is Phase 6 and AC1–AC24.

Authority, security and reliability

Verify zero unresolved in-scope ambient/residual/unwanted explicit authority and exact cleanup under enforced workload deadlines. Preserve source hashes, clean/extended separation and signed provenance. Readiness and phase completion do not authorize merges, tags, firmware changes or artifact promotion.

Apply the priority order: security, reliability, then performance. Keep suspected vulnerabilities in the repository’s restricted SECURITY.md reporting channel.

Acceptance criteria

  • Run final fmt, default/all-valid-feature strict Clippy, unit tests, doctests,
    target/profile builds and rustdoc for every altered repository at its exact final signed
    revision, with no warnings and no unexplained skipped tests.
  • Verify every new runtime feature has positive, authority-negative, malformed-input,
    interruption/cleanup and bounded VM integration coverage.
  • Run the full old-plus-new VM catalog and all canonical/post-image probes; reconcile
    authored scenario counts, source/worker ownership, expected exits, images and retained
    failures. Preserve the existing catalog as a baseline, not a fixed future denominator that
    permits dropping tests.
  • Enforce real per-scenario hard/stall deadlines and owned-process cleanup in CI;
    test stalled guests/helpers fail and release their worker. Report progress throughout long
    full-build jobs without fabricating liveness.
  • Monitor exact-head CI for every repository, including nested crates and older
    unit/VM regressions; classify pending/cancelled/stale/missing evidence separately. Fix
    failures and warning-bearing green jobs before acceptance.
  • Keep Rust fmt/Clippy/tests in each crate's canonical ci.yml, including
    Integration's library job; remove unsupported Forgejo workflow permissions fields and use
    authorized integrations only for needed capabilities.
  • Re-run the independent whole-codebase integration#2/docs#1 audit and check zero deprecated APIs,
    over-limit authored code files, missing inline docs and unresolved ambient/residual/unwanted
    explicit authority findings.
  • Verify compiler/dependency commit-pin policy, clean/extended image isolation,
    signed source/artifact provenance, reproducibility and rollback/ upgrade behavior for changed
    persistent or ABI contracts.
  • Re-run uninstrumented startup and declared build-performance gates on the final
    graph; an earlier candidate's speedup or predecessor CI cannot certify a later graph.
  • Reconcile every component's canonical README/ARCHITECTURE/ROADMAP,
    docs/phases/6.md, manual/API references and operator self-hosting runbook with observed
    behavior, supported limits and exact final evidence.
  • Push all final signed feature/posix-compat trees and coherent Integration pins;
    verify remote heads/signatures and their own terminal CIs. Do not silently merge, retag,
    rewrite history or replace main images.
  • Close AC1–AC24 using the matrix below, record final percentage and remaining
    later-phase non-goals, and request explicit promotion direction for accepted images. Do not
    declare Phase 6 complete before integration#9/integration#10 actually pass.
  • Close the supplementary meta#2ttyd#1 and integration#2/docs#1/exsh#1/integration#8 gates, including signed
    downloadable boot artifacts, all-file authority verification, real-input CLI coverage, native
    tools, manuals and human-legible documentation/code.
  • Reconcile public issues, PR checklists, evidence links
    and this tracker; remove "WIP: " only from genuinely accomplished PR goals and leave
    unresolved/dependent work visibly open.
  • Prepare the v1.0.0-alpha.1 manual-review dossier: complete source graph,
    self-host proof, security/CI/performance results, licenses, custom-key enrollment/recovery
    instructions and known non-goals. Wait for explicit manual approval before merges, version
    promotion, release tags or artifact promotion.

For each implementation slice, retain actual formatting, strict Clippy, unit/doctest and warning-denied build results for all altered Rust repositories and valid configurations. Add relevant runtime VM coverage, monitor older unit/VM regressions in exact-head CI, and update canonical component documents and affected technical-manual/API material. Every authored code file must remain below 1,000 physical lines, with meaningful inline documentation and missing_docs enforcement in Rust crates.

Alternatives and tradeoffs

Repeated partial passes or a reduced scenario denominator conceal regressions. Retain true exit status and failures, validate final signed revisions, and request explicit manual release direction only after the complete reviewable dossier exists.

Tracking and rollout

Dependencies: integration#6, integration#1, integration#2, docs#1, integration#3, lib-posixabi#1, posixd#1, posixd#2, kernel#1, posixd#3, lib-cstd#1, dynlinkd#1, exsh#1, integration#4, integration#7, integration#8, integration#9, meta#2, integration#5, bootloader#1, ttyd#1

Dependencies identify required contracts and closure gates; preparatory inventory/design can proceed in parallel under one owner per edited file. Link bounded implementation issues and their PRs here before claiming acceptance. Use feature/posix-compat, regular signed commits in the canonical contribution format, and WIP PRs linked to the exact coherent component graph. All cross-repository Cargo/catalog selections and CI helpers use full 40-character lowercase commit hashes, including transitive dependencies; do not substitute branch, tag or implicit HEAD selection.

Close criteria only with their own reviewed deliverables and validation evidence. Pending, skipped, cancelled, failed or predecessor-only results remain distinct. Keep main images unchanged until explicit promotion direction; technical completion does not authorize merges, release tags or publication.

## Problem and motivation Phase completion requires one coherent final graph with full regression and authority evidence. A predecessor’s green run, warnings inside successful jobs or incomplete cross-repository checks cannot certify the delivered system. ## Proposed behavior and scope Run final warning-free Rust/documentation checks, the complete old-plus-new VM suite, exact-head repository CI, independent whole-codebase audits and final performance gates. Reconcile AC1–AC24, supplementary requirements, public tracking and the two-generation proof, then prepare the alpha manual-review dossier. This issue records planned work; its unchecked criteria are not implementation proof. The normative basis is [Phase 6 and AC1–AC24](https://git.erikinkinen.fi/erix/docs/src/branch/main/phases/6.md). ## Authority, security and reliability Verify zero unresolved in-scope ambient/residual/unwanted explicit authority and exact cleanup under enforced workload deadlines. Preserve source hashes, clean/extended separation and signed provenance. Readiness and phase completion do not authorize merges, tags, firmware changes or artifact promotion. Apply the priority order: security, reliability, then performance. Keep suspected vulnerabilities in the repository’s restricted SECURITY.md reporting channel. ## Acceptance criteria - [ ] Run final fmt, default/all-valid-feature strict Clippy, unit tests, doctests, target/profile builds and rustdoc for every altered repository at its exact final signed revision, with no warnings and no unexplained skipped tests. - [ ] Verify every new runtime feature has positive, authority-negative, malformed-input, interruption/cleanup and bounded VM integration coverage. - [ ] Run the full old-plus-new VM catalog and all canonical/post-image probes; reconcile authored scenario counts, source/worker ownership, expected exits, images and retained failures. Preserve the existing catalog as a baseline, not a fixed future denominator that permits dropping tests. - [ ] Enforce real per-scenario hard/stall deadlines and owned-process cleanup in CI; test stalled guests/helpers fail and release their worker. Report progress throughout long full-build jobs without fabricating liveness. - [ ] Monitor exact-head CI for every repository, including nested crates and older unit/VM regressions; classify pending/cancelled/stale/missing evidence separately. Fix failures and warning-bearing green jobs before acceptance. - [ ] Keep Rust fmt/Clippy/tests in each crate's canonical `ci.yml`, including Integration's library job; remove unsupported Forgejo workflow permissions fields and use authorized integrations only for needed capabilities. - [ ] Re-run the independent whole-codebase [integration#2](https://git.erikinkinen.fi/erix/integration/issues/2)/[docs#1](https://git.erikinkinen.fi/erix/docs/issues/1) audit and check zero deprecated APIs, over-limit authored code files, missing inline docs and unresolved ambient/residual/unwanted explicit authority findings. - [ ] Verify compiler/dependency commit-pin policy, clean/extended image isolation, signed source/artifact provenance, reproducibility and rollback/ upgrade behavior for changed persistent or ABI contracts. - [ ] Re-run uninstrumented startup and declared build-performance gates on the final graph; an earlier candidate's speedup or predecessor CI cannot certify a later graph. - [ ] Reconcile every component's canonical README/ARCHITECTURE/ROADMAP, `docs/phases/6.md`, manual/API references and operator self-hosting runbook with observed behavior, supported limits and exact final evidence. - [ ] Push all final signed `feature/posix-compat` trees and coherent Integration pins; verify remote heads/signatures and their own terminal CIs. Do not silently merge, retag, rewrite history or replace main images. - [ ] Close AC1–AC24 using the matrix below, record final percentage and remaining later-phase non-goals, and request explicit promotion direction for accepted images. Do not declare Phase 6 complete before [integration#9](https://git.erikinkinen.fi/erix/integration/issues/9)/[integration#10](https://git.erikinkinen.fi/erix/integration/issues/10) actually pass. - [ ] Close the supplementary [meta#2](https://git.erikinkinen.fi/erix/meta/issues/2)–[ttyd#1](https://git.erikinkinen.fi/erix/ttyd/issues/1) and [integration#2](https://git.erikinkinen.fi/erix/integration/issues/2)/[docs#1](https://git.erikinkinen.fi/erix/docs/issues/1)/[exsh#1](https://git.erikinkinen.fi/erix/exsh/issues/1)/[integration#8](https://git.erikinkinen.fi/erix/integration/issues/8) gates, including signed downloadable boot artifacts, all-file authority verification, real-input CLI coverage, native tools, manuals and human-legible documentation/code. - [ ] Reconcile public issues, PR checklists, evidence links and this tracker; remove "WIP: " only from genuinely accomplished PR goals and leave unresolved/dependent work visibly open. - [ ] Prepare the `v1.0.0-alpha.1` manual-review dossier: complete source graph, self-host proof, security/CI/performance results, licenses, custom-key enrollment/recovery instructions and known non-goals. Wait for explicit manual approval before merges, version promotion, release tags or artifact promotion. For each implementation slice, retain actual formatting, strict Clippy, unit/doctest and warning-denied build results for all altered Rust repositories and valid configurations. Add relevant runtime VM coverage, monitor older unit/VM regressions in exact-head CI, and update canonical component documents and affected technical-manual/API material. Every authored code file must remain below 1,000 physical lines, with meaningful inline documentation and missing_docs enforcement in Rust crates. ## Alternatives and tradeoffs Repeated partial passes or a reduced scenario denominator conceal regressions. Retain true exit status and failures, validate final signed revisions, and request explicit manual release direction only after the complete reviewable dossier exists. ## Tracking and rollout Dependencies: [integration#6](https://git.erikinkinen.fi/erix/integration/issues/6), [integration#1](https://git.erikinkinen.fi/erix/integration/issues/1), [integration#2](https://git.erikinkinen.fi/erix/integration/issues/2), [docs#1](https://git.erikinkinen.fi/erix/docs/issues/1), [integration#3](https://git.erikinkinen.fi/erix/integration/issues/3), [lib-posixabi#1](https://git.erikinkinen.fi/erix/lib-posixabi/issues/1), [posixd#1](https://git.erikinkinen.fi/erix/posixd/issues/1), [posixd#2](https://git.erikinkinen.fi/erix/posixd/issues/2), [kernel#1](https://git.erikinkinen.fi/erix/kernel/issues/1), [posixd#3](https://git.erikinkinen.fi/erix/posixd/issues/3), [lib-cstd#1](https://git.erikinkinen.fi/erix/lib-cstd/issues/1), [dynlinkd#1](https://git.erikinkinen.fi/erix/dynlinkd/issues/1), [exsh#1](https://git.erikinkinen.fi/erix/exsh/issues/1), [integration#4](https://git.erikinkinen.fi/erix/integration/issues/4), [integration#7](https://git.erikinkinen.fi/erix/integration/issues/7), [integration#8](https://git.erikinkinen.fi/erix/integration/issues/8), [integration#9](https://git.erikinkinen.fi/erix/integration/issues/9), [meta#2](https://git.erikinkinen.fi/erix/meta/issues/2), [integration#5](https://git.erikinkinen.fi/erix/integration/issues/5), [bootloader#1](https://git.erikinkinen.fi/erix/bootloader/issues/1), [ttyd#1](https://git.erikinkinen.fi/erix/ttyd/issues/1) Dependencies identify required contracts and closure gates; preparatory inventory/design can proceed in parallel under one owner per edited file. Link bounded implementation issues and their PRs here before claiming acceptance. Use `feature/posix-compat`, regular signed commits in the canonical contribution format, and WIP PRs linked to the exact coherent component graph. All cross-repository Cargo/catalog selections and CI helpers use full 40-character lowercase commit hashes, including transitive dependencies; do not substitute branch, tag or implicit HEAD selection. Close criteria only with their own reviewed deliverables and validation evidence. Pending, skipped, cancelled, failed or predecessor-only results remain distinct. Keep main images unchanged until explicit promotion direction; technical completion does not authorize merges, release tags or publication.
erikinkinen changed title from [FEATURE] [P17] Close final security, documentation, CI and self-hosting acceptance to [FEATURE] Close final security, documentation, CI and self-hosting acceptance 2026-09-12 08:02:08 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
erix/integration#10
No description provided.