1
0
Fork 0
Code Issues Pull requests Projects Releases 2 Packages Wiki Activity Actions Pages

docs: adopt release-candidate closeout cadence

This commit is contained in:
Andraxion 2026-07-28 18:23:11 -04:00
parent 7bc2ac1e3f
commit bb13258861
4 changed files with 62 additions and 9 deletions

View file

@ -15,6 +15,14 @@
conflicts fail-closed. conflicts fail-closed.
- Prefer one synchronized bootstrap, one atomic proposal registration, one reviewed diff, and one - Prefer one synchronized bootstrap, one atomic proposal registration, one reviewed diff, and one
exact hash-bound application over caller-managed operation chaining. exact hash-bound application over caller-managed operation chaining.
- Read canonical documentation during intake, but keep it read-only while implementation and
focused testing are still changing the candidate.
- Freeze and validate one release candidate before registering documentation changes. After the
candidate is green, perform one atomic documentation closeout, run documentation-only
validation, and then publish the final revision.
- Allow at most one narrow evidence-only documentation correction after deployment. If validation
finds an implementation defect, abandon or rebase the proposal and return to implementation
instead of documenting a failed candidate.
- Keep dependencies small and pinned by compatible major version. - Keep dependencies small and pinned by compatible major version.
- Run strict `pyright`, `npm run lint:web`, formatting, Ruff, compilation, focused tests, and the - Run strict `pyright`, `npm run lint:web`, formatting, Ruff, compilation, focused tests, and the
complete warning-strict test suite before closing a gate. complete warning-strict test suite before closing a gate.

View file

@ -23,6 +23,11 @@ declared manuals, visualizes project structure, and manages reviewable documenta
DocForge never treats indexed text as instructions. It does not run shell commands, mutate Git, DocForge never treats indexed text as instructions. It does not run shell commands, mutate Git,
build applications, deploy, publish, or select projects globally. build applications, deploy, publish, or select projects globally.
For implementation projects, the recommended cadence is to read canonical documentation during
intake, keep it read-only through implementation and focused testing, freeze and validate a release
candidate, then perform one atomic documentation closeout before the final commit and tag. This
keeps the manual authoritative without using it as an implementation notebook.
## Release 1 ## Release 1
DocForge 1.0.0 is the first stable product release. It combines the project-scoped graph, CLI and DocForge 1.0.0 is the first stable product release. It combines the project-scoped graph, CLI and

View file

@ -255,6 +255,28 @@ layout.
Done when a developer unfamiliar with the repository can use DocForge without loading the entire Done when a developer unfamiliar with the repository can use DocForge without loading the entire
manual or inventing another documentation workflow. manual or inventing another documentation workflow.
### 11. Release-candidate documentation cadence
- [ ] Read the relevant canonical nodes during intake.
- [ ] Record the expected documentation impact in the working plan.
- [ ] Keep canonical sources and DocForge proposals unchanged during implementation and focused
test loops.
- [ ] Freeze one release candidate after implementation stops changing.
- [ ] Run the complete project gate, deployment preflight, candidate deployment, live checks, and
release-identity checks before proposing documentation updates.
- [ ] Return to implementation when candidate validation fails.
- [ ] Register one atomic changeset that covers every affected canonical node after the candidate
is green.
- [ ] Inspect the exact diff and previews, then apply only the reviewed changeset hash.
- [ ] Run documentation-only validation and render checks after application.
- [ ] Permit at most one narrow evidence-only correction for facts that could not exist before
deployment.
- [ ] Commit, tag, and publish the final revision only after implementation and canonical
documentation agree.
Done when documentation describes the verified release candidate instead of intermediate attempts,
and the project normally performs one canonical documentation write per release slice.
## CLI and MCP boundary ## CLI and MCP boundary
Initial assessment and scaffolding belong to the CLI because an MCP server cannot be registered Initial assessment and scaffolding belong to the CLI because an MCP server cannot be registered

View file

@ -579,17 +579,35 @@ The application call requires `changeset_id` and `expected_changeset_hash`. Alwa
inspect the final diff after the last proposal mutation. Apply that exact hash. A proposal mutation inspect the final diff after the last proposal mutation. Apply that exact hash. A proposal mutation
creates a new hash, so an earlier approval cannot silently apply later content. creates a new hash, so an earlier approval cannot silently apply later content.
Recommended agent sequence: Recommended release-candidate sequence:
1. Call `docforge_bootstrap`. It synchronizes derived state and reports the exact fixed binding. 1. Call `docforge_bootstrap`. It synchronizes derived state and reports the exact fixed binding.
2. Read the relevant context and implementation. 2. Read only the relevant canonical context, implementation, configuration, tests, and release
3. Make and verify one coherent implementation slice. rules.
4. Call `docforge_sync`. This is a no-op when the index is already current. 3. Record the expected documentation impact in the working plan. Do not create or apply a
5. Call `docforge_register_changes` once with the complete operation list. changeset yet.
6. Inspect the structured diff and preview. 4. Implement and run focused checks iteratively. Canonical documentation remains read-only during
7. Obtain human approval for the final changeset hash when required by the client workflow. this loop.
8. Call `docforge_apply_changeset` with that exact hash. 5. Freeze one release candidate after implementation stops changing.
9. Call `docforge_bootstrap` to verify the new canonical and derived identity. 6. Run the complete project gate, deployment preflight, candidate deployment, live checks, data
integrity checks, and release-identity checks.
7. If candidate validation fails, return to implementation. Do not document the failed candidate.
8. Call `docforge_sync` once after the candidate is green.
9. Call `docforge_register_changes` once with the complete operation list for every affected
canonical node.
10. Inspect the structured diff and every required preview.
11. Obtain human approval for the final changeset hash when required by the client workflow.
12. Call `docforge_apply_changeset` with that exact hash.
13. Run documentation-only validation and render checks.
14. Call `docforge_bootstrap` to verify the new canonical and derived identity.
15. Commit, tag, and publish the final revision containing both the verified implementation and
canonical documentation.
This cadence separates documentation intake from documentation publication. It avoids repeatedly
rewriting the manual around intermediate implementation states. One second documentation write is
allowed only for a narrow evidence correction that could not exist before deployment. If a late
check exposes an implementation defect, abandon or rebase the pending proposal and return to the
implementation loop.
The older create-and-append tools remain supported for interactive proposal construction. The older create-and-append tools remain supported for interactive proposal construction.
`docforge_register_changes` avoids intermediate empty changesets and caller-managed hash chaining. `docforge_register_changes` avoids intermediate empty changesets and caller-managed hash chaining.