Skip to content

Commit 3a540b4

Browse files
committed
docs: record pre-public rehearsal
1 parent 8219da8 commit 3a540b4

7 files changed

Lines changed: 239 additions & 28 deletions

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
`SKILL.md`, CLI help, and installer/package contract checks.
1515
- Refresh the M6 release-candidate record for the latest validated candidate
1616
content with working-tree and fresh-clone deterministic validation evidence.
17+
- Record an agent-mediated pre-public rehearsal covering disposable GitHub
18+
clone acquisition, Codex/Claude install paths, existing-target refusal,
19+
force reinstall, installed-package invocation, rerun behavior, small and
20+
medium map interpretation, deterministic checks, and remaining manual gates.
1721
- Align the README with the sister `codebase-orient` style, including a
1822
user-first quickstart, delegated install prompt, first-use separation,
1923
authority-boundary table, validation guidance, and release-status navigation.

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,11 +382,12 @@ This repository is still pre-public and pre-tag. For release navigation:
382382

383383
- Active roadmap: [`docs/V1_RELEASE_PLAN.md`](docs/V1_RELEASE_PLAN.md)
384384
- Current candidate evidence: [`docs/releases/M6_RELEASE_CANDIDATE_VALIDATION.md`](docs/releases/M6_RELEASE_CANDIDATE_VALIDATION.md)
385+
- Pre-public rehearsal evidence: [`docs/releases/M6_PRE_PUBLIC_REHEARSAL.md`](docs/releases/M6_PRE_PUBLIC_REHEARSAL.md)
385386
- Public-switch checklist: [`docs/releases/PUBLIC_RELEASE_CHECKLIST.md`](docs/releases/PUBLIC_RELEASE_CHECKLIST.md)
386387
- Medium/large pressure evidence: [`docs/releases/MEDIUM_LARGE_PRESSURE_VALIDATION.md`](docs/releases/MEDIUM_LARGE_PRESSURE_VALIDATION.md)
387388
- Remaining questions: [`docs/ai/OPEN_QUESTIONS.md`](docs/ai/OPEN_QUESTIONS.md)
388389

389-
The latest validated candidate content is deterministic-check ready for the remaining human and publication gates, not public-release complete. Independent cold-user validation, final manual GitHub UI-only checks, public-only security/ruleset setup, and the final tag/release/publication decision remain. If maintainers choose a later content commit for tagging, exact-candidate validation must be refreshed.
390+
The latest validated candidate content is deterministic-check ready for the remaining human and publication gates, not public-release complete. Agent-mediated cold-user rehearsal is complete; final manual GitHub UI-only checks, public-only security/ruleset setup, and the final tag/release/publication decision remain. If maintainers choose a later content commit for tagging, exact-candidate validation must be refreshed.
390391

391392
## Reference and contributor notes
392393

docs/V1_RELEASE_PLAN.md

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ final validation record is frozen.
1616
| --- | --- |
1717
| `docs/V1_RELEASE_PLAN.md` | active roadmap and release criteria |
1818
| `docs/releases/M6_RELEASE_CANDIDATE_VALIDATION.md` | current deterministic candidate evidence |
19+
| `docs/releases/M6_PRE_PUBLIC_REHEARSAL.md` | agent-mediated cold-user and pre-public rehearsal evidence |
1920
| `docs/releases/PUBLIC_RELEASE_CHECKLIST.md` | public-switch order, GitHub settings target, and remaining publication actions |
2021
| `docs/releases/MEDIUM_LARGE_PRESSURE_VALIDATION.md` | current medium/large map pressure evidence |
2122
| `docs/releases/M5_VALIDATION_RECORD.md` | historical local validation baseline |
@@ -24,12 +25,14 @@ final validation record is frozen.
2425
| `docs/releases/M6_REWRITE_DRY_RUN_RECORD.md` | historical rewrite dry-run evidence |
2526
| `docs/ai/OPEN_QUESTIONS.md` | remaining non-blocking questions and final gates |
2627

27-
The latest validated candidate content is deterministic-check ready for
28-
independent cold-user validation and final publication preparation. It is not
29-
public-release complete until independent validation, manual GitHub UI-only
30-
checks, public-only security/ruleset setup, and the final tag/release/publication
31-
decision finish. If maintainers choose a later content commit for tagging,
32-
refresh exact-candidate validation for that content.
28+
The latest validated candidate content is deterministic-check ready for final
29+
publication preparation. An agent-mediated cold-user rehearsal now proves the
30+
README/SKILL acquisition, install, invocation, interpretation, and rerun path
31+
from a clean private GitHub clone. It is not public-release complete until
32+
external human validation or explicit maintainer acceptance, manual GitHub
33+
UI-only checks, public-only security/ruleset setup, and the final
34+
tag/release/publication decision finish. If maintainers choose a later content
35+
commit for tagging, refresh exact-candidate validation for that content.
3336

3437
## 1. V1 definition
3538

@@ -575,6 +578,7 @@ Every criterion below is required unless explicitly marked preferred.
575578
- [ ] `git diff --check` passes.
576579
- [ ] Worktree is clean.
577580
- [ ] Public release candidate passes independent cold-user validation.
581+
- [x] Agent-mediated cold-user rehearsal from a disposable GitHub clone passes.
578582
- [x] Exact public release-candidate checkout passes the final deterministic
579583
and platform validation matrix.
580584
- [ ] Public-surface sanitation passes for tracked and candidate-reachable
@@ -691,8 +695,8 @@ Remaining milestone:
691695
1. **M6 - exact release candidate and v1 publication:** validate a fresh
692696
checkout of the exact candidate, audit the complete GitHub exposure surface,
693697
decide what must be retained, generalized, removed, deleted, or rewritten,
694-
complete independent cold-user validation, sanitize the public surface,
695-
freeze the validation record, and tag `v1.0.0`.
698+
complete or explicitly accept cold-user validation evidence, sanitize the
699+
public surface, freeze the validation record, and tag `v1.0.0`.
696700

697701
## 11. Immediate next milestone
698702

@@ -718,14 +722,16 @@ navigable with scoped SVG views, large-map guidance, search/filter navigation,
718722
and copyable agent briefing support.
719723

720724
The next milestone is **M6: exact release candidate and v1 publication**. It
721-
must complete independent cold-user validation, final manual GitHub UI checks,
722-
final public-only GitHub security/ruleset setup, and the publication decision
723-
before visibility changes.
725+
must complete final manual GitHub UI checks, final public-only GitHub
726+
security/ruleset setup, and the publication decision before visibility changes.
727+
The agent-mediated cold-user rehearsal is complete; the maintainer can either
728+
accept it as sufficient for v1 or perform an additional external
729+
human-through-agent validation pass.
724730

725731
The initial GitHub exposure inventory, controlled rewrite plan, rewrite dry
726732
run, real private-history rewrite, private-safe GitHub settings pass, and
727-
validated-candidate deterministic release-candidate evidence is complete. The
728-
next M6 execution slice is independent cold-user validation and final
729-
public-switch preparation; visibility remains private throughout. If maintainers
730-
choose a later content commit for tagging, exact-candidate validation must be
731-
refreshed again.
733+
validated-candidate deterministic release-candidate evidence are complete. The
734+
agent-mediated pre-public rehearsal is also complete. The next M6 execution
735+
slice is final manual/public-only release preparation; visibility remains
736+
private throughout. If maintainers choose a later content commit for tagging,
737+
exact-candidate validation must be refreshed again.

docs/ai/OPEN_QUESTIONS.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,13 @@ Last refreshed: 2026-06-06
1515
the publishable-history audit passes, private-safe GitHub settings are
1616
applied, and the latest validated candidate content has deterministic
1717
release-candidate evidence from both the working tree and a fresh private
18-
clone. Remaining gates are independent cold-user validation, final manual
19-
GitHub UI-only checks, public-only security/ruleset setup, and the final
20-
tag/release/publication decision. If maintainers choose a later content
21-
commit for tagging, refresh exact-candidate validation for that content.
18+
clone. An agent-mediated cold-user rehearsal from a disposable GitHub clone is
19+
recorded in `docs/releases/M6_PRE_PUBLIC_REHEARSAL.md`. Remaining gates are
20+
final manual GitHub UI-only checks, public-only security/ruleset setup, and
21+
the final tag/release/publication decision. The maintainer may still choose
22+
to perform an additional external human-through-agent validation pass before
23+
publication. If maintainers choose a later content commit for tagging,
24+
refresh exact-candidate validation for that content.
2225
- **Manual GitHub UI checks:** The maintained API audit is in
2326
`docs/releases/M6_GITHUB_EXPOSURE_AUDIT.md`. Before changing visibility,
2427
manually glance at UI-only surfaces such as social preview and any package
Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
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.

docs/releases/M6_RELEASE_CANDIDATE_VALIDATION.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,9 @@ and copyable agent briefing behavior after the renderer polish work.
121121
Known limitations:
122122

123123
- macOS remains explicitly unverified.
124-
- Independent cold-user validation has not yet been performed.
124+
- Agent-mediated cold-user rehearsal is recorded in
125+
`M6_PRE_PUBLIC_REHEARSAL.md`; an additional external human-through-agent
126+
validation pass remains optional for maintainer acceptance.
125127
- Manual GitHub UI-only checks, such as social preview and package views that
126128
are unavailable to the current token, remain.
127129
- Public-only security, ruleset, private-vulnerability-reporting, and immutable
@@ -134,6 +136,7 @@ Known limitations:
134136
Release decision:
135137

136138
The validated candidate content is deterministic-check ready for the remaining
137-
human and publication gates. It is ready for independent cold-user validation
138-
and final publication preparation, but it is not yet public-release ready
139-
because independent validation and public-only GitHub actions remain.
139+
human and publication gates. Agent-mediated cold-user rehearsal is complete,
140+
and the candidate is ready for final publication preparation, but it is not yet
141+
public-release ready because manual/public-only GitHub actions and final
142+
maintainer acceptance remain.

docs/releases/PUBLIC_RELEASE_CHECKLIST.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,13 +132,15 @@ Maintained M6 records:
132132
- [`M6_HISTORY_REWRITE_PLAN.md`](M6_HISTORY_REWRITE_PLAN.md)
133133
- [`M6_REWRITE_DRY_RUN_RECORD.md`](M6_REWRITE_DRY_RUN_RECORD.md)
134134
- [`M6_RELEASE_CANDIDATE_VALIDATION.md`](M6_RELEASE_CANDIDATE_VALIDATION.md)
135+
- [`M6_PRE_PUBLIC_REHEARSAL.md`](M6_PRE_PUBLIC_REHEARSAL.md)
135136

136137
Current deterministic candidate status:
137138

138139
- Latest validated candidate content has fresh working-tree and clean-clone
139140
deterministic validation evidence.
140-
- Independent cold-user validation, final manual GitHub UI-only checks,
141-
public-only security/ruleset setup, and final tag/release/publication
142-
decisions remain.
141+
- Agent-mediated cold-user and pre-public rehearsal evidence is recorded.
142+
- Final manual GitHub UI-only checks, public-only security/ruleset setup, and
143+
final tag/release/publication decisions remain. Maintainers may still choose
144+
to perform an additional external human-through-agent validation pass.
143145
- If maintainers choose a later content commit for tagging, refresh the
144146
exact-candidate validation record for that content.

0 commit comments

Comments
 (0)