|
| 1 | +# M6 Pre-Public Release Rehearsal |
| 2 | + |
| 3 | +Status: agent-mediated cold-user rehearsal complete; external human publication |
| 4 | +decision pending |
| 5 | + |
| 6 | +Date: 2026-06-06 |
| 7 | + |
| 8 | +## Scope |
| 9 | + |
| 10 | +This rehearsal simulated the closest safe pre-public first-user path while the |
| 11 | +repository remained private. It used a disposable GitHub clone as the install |
| 12 | +source, disposable install homes, disposable target repositories, and maintained |
| 13 | +README/SKILL guidance only. |
| 14 | + |
| 15 | +No repository visibility, tag, release, history, or runtime behavior changed. |
| 16 | +Raw temp paths, private clone paths, and raw logs are intentionally not recorded |
| 17 | +in maintained documentation. |
| 18 | + |
| 19 | +## Source Under Rehearsal |
| 20 | + |
| 21 | +- Private GitHub clone revision: `8219da8c334e3b062c933d69d71f49d5c33fcd0a` |
| 22 | +- Tree: `2e1a1fb7a24bb69cbf1d6c7945ca08f73196f812` |
| 23 | +- Branch: `main` |
| 24 | +- Clone worktree: clean and matched `origin/main` |
| 25 | +- Tags during rehearsal: none |
| 26 | +- Repository visibility during rehearsal: private |
| 27 | +- Product version: `0.0.1` |
| 28 | +- Graph schema version observed in generated output: `1.0.0` |
| 29 | + |
| 30 | +The earlier release-candidate evidence record validates the candidate content at |
| 31 | +`ea12abe1a6499b69ffaafe66dbe233d213960808`. This rehearsal additionally proves |
| 32 | +that the current pushed repository guidance and evidence-record commit can be |
| 33 | +acquired and exercised from a clean GitHub clone. |
| 34 | + |
| 35 | +## Cold-User Acquisition And Install Evidence |
| 36 | + |
| 37 | +Directly proven from the disposable GitHub clone: |
| 38 | + |
| 39 | +- Codex user-level install completed into a disposable home. |
| 40 | +- Claude Code user-level install completed into a disposable home. |
| 41 | +- Codex project-local install completed into a disposable target project. |
| 42 | +- Re-running the Codex user-level install without force refused the existing |
| 43 | + target. |
| 44 | +- Force reinstall replaced the installed package and removed a deliberately |
| 45 | + added stale file. |
| 46 | +- The installed Codex package matched the canonical source package by file hash. |
| 47 | +- Installer output distinguished installation from visualization and printed an |
| 48 | + explicit invocation command. |
| 49 | + |
| 50 | +This proves copied-file installation behavior. It does not prove that Claude |
| 51 | +Code or Codex UI pickers discovered the installed skill, because this rehearsal |
| 52 | +used the installed runtime command directly rather than driving those product |
| 53 | +interfaces. |
| 54 | + |
| 55 | +## Installed Runtime Evidence |
| 56 | + |
| 57 | +The installed Codex package was invoked from outside the source checkout against |
| 58 | +a disposable target repository containing source, tests, config, README links, |
| 59 | +and sibling `codebase-orient` docs. |
| 60 | + |
| 61 | +Directly proven: |
| 62 | + |
| 63 | +- `visualize.mjs --target <repo>` generated exactly: |
| 64 | + - `docs/ai/visualize/codebase-graph.json` |
| 65 | + - `docs/ai/visualize/codebase-map.html` |
| 66 | +- The generated graph existed, was populated, and used schema `1.0.0`. |
| 67 | +- The generated HTML map existed and was populated. |
| 68 | +- Rerunning `visualize.mjs` safely refreshed the fixed outputs. |
| 69 | +- Split `scan.mjs` and `render.mjs` commands also worked from the installed |
| 70 | + package. |
| 71 | +- Generated outputs stayed inside the fixed `docs/ai/visualize/` namespace. |
| 72 | +- Sibling `docs/ai/*` orientation files were preserved as read-only target |
| 73 | + inputs and appeared as map/graph context. |
| 74 | + |
| 75 | +Small-target observed metrics: |
| 76 | + |
| 77 | +- 8 files |
| 78 | +- 8 folders |
| 79 | +- 5 inferred Markdown reference edges reported by the scanner |
| 80 | +- 16 graph nodes |
| 81 | +- 20 graph edges |
| 82 | +- 0 unknown classifications |
| 83 | + |
| 84 | +Rerun output hashes were not byte-stable because generated timestamps refresh. |
| 85 | +That is expected. The release claim is safe refresh/replacement, not |
| 86 | +byte-identical output. |
| 87 | + |
| 88 | +## Map Interpretation Evidence |
| 89 | + |
| 90 | +The generated small-target map contained the expected cold-user interpretation |
| 91 | +surfaces: |
| 92 | + |
| 93 | +- "How to use this map" guidance |
| 94 | +- tree and graph view affordances |
| 95 | +- claim labels for fact, inference, and unknown |
| 96 | +- generated-output/authority cues |
| 97 | +- sibling-orient context |
| 98 | +- copy agent briefing action |
| 99 | + |
| 100 | +This proves the map exposes the concepts a cold user needs to interpret the |
| 101 | +artifact. It remains proxy evidence for real browser interaction because the |
| 102 | +maintained interaction harness, not this rehearsal, is the direct automated |
| 103 | +browser-behavior check. |
| 104 | + |
| 105 | +## Medium-Target Usability Evidence |
| 106 | + |
| 107 | +The same installed package also generated a map for a sanitized medium local |
| 108 | +target cloned into the disposable rehearsal workspace. |
| 109 | + |
| 110 | +Observed metrics: |
| 111 | + |
| 112 | +- 100 files |
| 113 | +- 42 folders |
| 114 | +- 133 inferred reference edges |
| 115 | +- 142 graph nodes |
| 116 | +- 274 graph edges |
| 117 | + |
| 118 | +The medium-target map contained: |
| 119 | + |
| 120 | +- large-map guidance |
| 121 | +- low-signal/unknown/sparse-signal guidance |
| 122 | +- copy agent briefing action |
| 123 | +- references controls |
| 124 | +- graph fit/center controls |
| 125 | + |
| 126 | +This confirms the current README/SKILL path can produce a navigable medium map |
| 127 | +from an installed package without using the source checkout. |
| 128 | + |
| 129 | +## Deterministic Release Checks |
| 130 | + |
| 131 | +Working-tree checks after the rehearsal: |
| 132 | + |
| 133 | +- `npm run check`: passed |
| 134 | +- `npm run check:public`: passed through `npm run check` |
| 135 | +- `npm run check:public:history`: passed |
| 136 | +- `npm run check:public:contracts`: passed |
| 137 | +- `npm audit --audit-level=high`: passed with zero vulnerabilities |
| 138 | +- `git diff --check`: passed |
| 139 | +- Worktree after checks: clean |
| 140 | + |
| 141 | +WSL2 quick-check subset: |
| 142 | + |
| 143 | +- Node.js `v24.16.0`, npm `11.13.0` |
| 144 | +- `npm run check:public`: passed |
| 145 | +- `npm run check:public:history`: passed |
| 146 | +- `npm run check:package`: passed |
| 147 | +- `npm run check:evals`: passed |
| 148 | + |
| 149 | +## Public-Readiness Review |
| 150 | + |
| 151 | +Reviewed release-facing surfaces: |
| 152 | + |
| 153 | +- README |
| 154 | +- `skills/codebase-visualize/SKILL.md` |
| 155 | +- CHANGELOG |
| 156 | +- SECURITY |
| 157 | +- CODE_OF_CONDUCT |
| 158 | +- V1 release plan |
| 159 | +- public release checklist |
| 160 | +- release-candidate validation record |
| 161 | +- GitHub exposure audit record |
| 162 | +- medium/large pressure validation record |
| 163 | +- open questions |
| 164 | + |
| 165 | +No release-blocking runtime or documentation issue was found. |
| 166 | + |
| 167 | +## Gate Interpretation |
| 168 | + |
| 169 | +Closed by this rehearsal: |
| 170 | + |
| 171 | +- Maintained README/SKILL guidance is sufficient for a clean cloned-source |
| 172 | + acquisition, install, invocation, interpretation, and rerun rehearsal. |
| 173 | +- Installed-package behavior is proven from outside the source checkout. |
| 174 | +- Codex and Claude Code user-level install paths, Codex project-local install, |
| 175 | + refusal, force replacement, and package-integrity behavior are directly |
| 176 | + proven in disposable locations. |
| 177 | +- Small-target and medium-target map interpretation surfaces are present. |
| 178 | + |
| 179 | +Still not closed: |
| 180 | + |
| 181 | +- Fully independent external human-through-agent validation. |
| 182 | +- Manual GitHub UI-only checks such as social preview and package views. |
| 183 | +- Public-only security, private vulnerability reporting, ruleset, immutable |
| 184 | + release, tag, release, and visibility actions. |
| 185 | +- macOS direct validation. |
| 186 | + |
| 187 | +Recommendation: |
| 188 | + |
| 189 | +Proceed to final human pre-public review. The release is a **go for final |
| 190 | +publication preparation** from a local deterministic and agent-mediated |
| 191 | +cold-user standpoint, but it is **not yet a go for public visibility** until the |
| 192 | +manual/public-only gates above are completed. |
0 commit comments