Phase ID: APG22C
Complete — ZUnit startup-isolation evidence corrected and exact support retained.
APG22C accepts APG22A and APG22B in substance, corrects the APG22B harness’s
selected user-startup control, and retains zunit-test-profile
unchanged for exactly ZUnit v0.8.2 with Zsh 5.9.2 in the tested environment.
The APG22B harness supplied separate temporary HOME and ZDOTDIR roots but
installed its contamination sentinel under the temporary home. Removing -f
still left the sentinel absent because Zsh selected .zshenv under the
supplied ZDOTDIR. The original absence assertion therefore did not prove
selected user-startup isolation.
A disposable exact Zsh 5.9.2 diagnostic reproduced the ineffective control.
With the sentinel at the selected ZDOTDIR/.zshenv, the same unsuppressed
runtime loaded it, and the same runtime with -f suppressed it. The defect was
in the harness evidence rather than the ZUnit skill wording.
The corrected harness installs the sentinel at the selected user-startup path,
requires an unsuppressed positive control to load it, requires a -f negative
control to leave it absent, and requires the named focused ZUnit test to
observe its absence inside the test process. Separate temporary home and
startup roots, credential-free construction, exact source builds, bounded
process groups, copied fixtures, fingerprints, and no-residue cleanup remain.
| Exact pair | Startup controls | Upstream result | APG result | Disposition |
|---|---|---|---|---|
| ZUnit v0.8.2 + Zsh 5.3.1 | positive and negative pass | dependency probe times out with status 124 before suite execution | not run | unsupported on the tested environment |
| ZUnit v0.8.2 + Zsh 5.9.2 | positive, negative, and in-runner pass | 98/98 pass | 7/7 focused pass; expected adverse cases pass | exact verified pair |
The startup claim is limited to the selected user .zshenv under the recorded
invocations. It does not claim suppression or control of unavoidable platform
or global startup behavior. No version range, adjacent version, other platform,
or current-stable inference is made.
The ZUnit leaf, projection, catalog row, route, known-unmanaged entry, and focused fixture semantics remain retained. All 48 frozen scenario dispositions remain supported. The candidate correction count remains zero because APG22C changes the harness and its regression test, not the skill.
A focused non-author APG22A review finds no new defect in
composing-approved-roadmap-assignments, ADR 0017, catalog-heading
compatibility, or current manager-assignment documentation. APG22A skill bytes
and all substantive dispositions remain unchanged.
Private development remains 19 canonical skills, 19 catalog rows, 19 relative projections, 6 stable rows, 13 provisional rows, and 18 routable non-router capabilities. Project, user, public-release, and active public-backed defaults remain the six stable v0.2 skills under schema version 1.
The corrected exact-version harness, 43-test skill-library unit suite, all configured repository suites, development and active checkers, record identity, Python compilation, applicable shell syntax, command help, changed Markdown links, privacy, durable references, modes, schemas, whitespace, staged checks, and fresh non-author review pass. The complete configured gate contains 250 passing tests and two expected fixture skips.
APG22C changes no skill wording, maturity row, dependency, schema, public APG, active integration, target repository, managed default, root guidance, private router, or source repository. It runs no application smoke, Nix operation, global installation, publication, or APG23 work.
APG23 may begin only after APG22C is committed, pushed, remote-equal, fully reported, and followed by a full Codex application quit and relaunch into a brand-new APG-rooted session.