# documentation-ownership ## Purpose Define what this narrowed change requires when retiring **non-OpenSpec** content under `documentation/architecture/`, while OpenSpec/OPSX remains at its current buried home, and while OpenSpec→Nbspec cutover and OpenSpec home relocation remain separate future work. ## ADDED Requirements ### Requirement: Non-OpenSpec architecture RST is retired Implementation SHALL delete non-OpenSpec documentation under `documentation/architecture/` that is not part of the OpenSpec/OPSX scaffolding tree, including summary, filesystem, ADR/decisions shells, empty designs/testplans shells, and the architecture index, after each item has an explicit delete or migrate-to-subsystem-README disposition. #### Scenario: Non-OpenSpec shells absent - **WHEN** the change is implemented at tip - **THEN** `documentation/architecture/summary.rst`, `filesystem.rst`, legacy ADR/designs/testplans trees, and `architecture/index.rst` are absent - **AND THEN** Sphinx builds without depending on those paths #### Scenario: OpenSpec tree retained - **WHEN** the change is implemented at tip - **THEN** `documentation/architecture/openspec/` remains the buried OpenSpec/OPSX home for this change - **AND THEN** this change does not require deleting that tree ### Requirement: Subsystem README for code-local rationale Code-local constraints and design rationale SHALL live in the nearest subsystem README under the repository's actual source layout. Root README files SHALL NOT hold architectural constraints or design rationale. #### Scenario: Package rationale - **WHEN** package-local layout or hybrid-distribution rationale is documented for agentsmgr in this repository - **THEN** it is written primarily to that package's README (apply-time: `sources/agentsmgr/README.md`) - **AND THEN** it is not placed only under deleted architecture RST paths #### Scenario: No root README constraints - **WHEN** subsystem constraints or rationale are migrated - **THEN** they are not written into root `README.md` / `README.rst` as the durable home ### Requirement: OpenSpec home and populate behavior unchanged This change SHALL NOT alter the OpenSpec buried-home location, root `openspec` managed-symlink behavior, or `agentsmgr populate` logic that ensures `documentation/architecture/openspec` and the root symlink. Template OpenSpec scaffolding under `template/documentation/architecture/openspec/` SHALL remain unless a separate change relocates it. #### Scenario: Populate still provides current OpenSpec shape - **WHEN** `agentsmgr populate project` runs after this change - **THEN** it may still ensure `documentation/architecture/openspec` and a root `openspec` symlink to that path as before - **AND THEN** this change does not introduce migration to `documentation/openspec/` or equivalent ### Requirement: OpenSpec capability specs stay under OpenSpec The six capability specifications under `documentation/architecture/openspec/specs/` SHALL remain the living homes for still-current agentsmgr capability requirements in this change. Implementation MAY edit obsolete scenarios in place. This change SHALL NOT migrate those requirements into `documentation/specifications/` as an OpenSpec→Nbspec cutover. #### Scenario: Currency audit without cutover - **WHEN** the six specs are audited - **THEN** each still-current requirement remains under the OpenSpec specs tree - **AND THEN** obsolete material may be removed or corrected with reason - **AND THEN** no requirement is moved to Nbspec solely by this change ### Requirement: This-repo Nbspec Sphinx publication is not fleet cutover If this repository already has Nbspec-managed documents under `documentation/specifications/`, `documentation/designs/`, or `documentation/decisions/`, Sphinx MAY publish them. The specifications index SHALL NOT glob OpenSpec capability specs from `documentation/architecture/openspec/`. Template and distribution SHALL NOT gain those three directories as fleet architecture homes solely because of this change. #### Scenario: Specifications index does not glob OpenSpec specs - **WHEN** Sphinx builds the specifications toctree after implementation - **THEN** it does not include `../architecture/openspec/specs/*/spec` #### Scenario: No fleet Nbspec-home leakage - **WHEN** `template/`, `distribution/`, and `components/` are inspected - **THEN** they do not teach `documentation/specifications|designs|decisions` as the fleet replacement for OpenSpec capability homes in this change ### Requirement: Instruction source selection omits architecture.rst Stop-shipping of the upstream `architecture.rst` instruction SHALL use an explicit file map for `github:emcd/python-project-common@docs-1` (and equivalent) that omits `architecture.rst`, applied in Copier template defaults and default/maximum test profiles. This change SHALL NOT add a new instruction-exclusion API. Tracked `distribution/per-project/general/instructions/architecture.rst` SHALL be removed intentionally in this repository. Self-dogfood Copier answers MAY remain Copier-owned and lag until the next `copier update`. Downstream copies SHALL NOT be silently deleted; residual cleanup remains under `agents-common:todos/agentsmgr/10`. #### Scenario: Defaults and profiles omit architecture.rst - **WHEN** Copier template defaults and test profiles are inspected - **THEN** `architecture.rst` is absent from the explicit docs-1 map #### Scenario: Distribution artifact removed intentionally - **WHEN** this change is implemented in agents-common - **THEN** `distribution/per-project/general/instructions/architecture.rst` is absent as an intentional deletion - **AND THEN** generation does not re-select it under the updated maps #### Scenario: Downstream residual accepted - **WHEN** a downstream project still has a previously populated `architecture.rst` - **THEN** this change does not silently delete it - **AND THEN** `todos/agentsmgr/10` remains the cleanup home ### Requirement: Command and prompt guidance consistency Live command and prompt guidance SHALL not cite deleted non-OpenSpec architecture paths as current procedure. Citations to the retained OpenSpec home MAY remain. The `cs-architect` command SHALL be removed. `prompts/openspec-init.md` SHALL be deleted. `prompts/migrate-to-openspec.md` SHALL be retained for unfinished fleet migrations unless a later change removes it. #### Scenario: No citations to deleted RST shells - **WHEN** component sources and generated distribution commands are inspected - **THEN** they do not reference deleted summary/filesystem/ADR/testplan architecture paths as live homes - **AND THEN** they may still reference `documentation/architecture/openspec/` where OPSX requires it #### Scenario: cs-architect removed - **WHEN** components and distribution are inspected after implementation - **THEN** `cs-architect` configuration and generated command files are absent #### Scenario: migrate prompt kept; init prompt removed - **WHEN** `prompts/` is inspected - **THEN** `migrate-to-openspec.md` is present - **AND THEN** `openspec-init.md` is absent ### Requirement: Project-local notes path retired Project-local `.auxiliary/notes` durable content used by this repository SHALL be cleared after useful open items are preserved in the project notebook. Agent commands SHALL NOT teach creating new durable trackers under `.auxiliary/notes/`. #### Scenario: notes directory absent; commands do not teach it - **WHEN** the change is implemented - **THEN** `.auxiliary/notes` is absent from the tip tree (aside from git history) - **AND THEN** distributed commands do not instruct agents to create new issue files under `.auxiliary/notes/` ### Requirement: Separation from unrelated work and deferred cutover Implementation SHALL NOT modify issues/5 autosquash guidance. This change SHALL NOT claim to implement `todos/agentsmgr/10`. This change SHALL NOT authorize later OpenSpec home relocation or OpenSpec→Nbspec cutover; those require a separate proposal. #### Scenario: reviews.md autosquash guidance untouched - **WHEN** the change diff is inspected - **THEN** `template/.auxiliary/agents/procedures/reviews.md` autosquash inspect/apply guidance is unchanged #### Scenario: Deferred cutover not authorized - **WHEN** this change is merged - **THEN** it is not cited as completing D6 or Nbspec capability cutover - **AND THEN** `todos/template/16` is not marked complete solely because of this change