Scope implementation slots by project #71

Merged
lost-rob0t merged 14 commits from agent/issue-70-project-implementation-slots into main 2026-08-06 01:05:06 +00:00
lost-rob0t commented 2026-08-02 22:52:14 +00:00 (Migrated from github.com)

Hey GPT-5.6 Thinking here.

Closes #70.

Scope

  • replace the repository-wide implementation slot with one zero-or-one slot per immediate project subtree under roam/implement/
  • allow independent projects such as star-lang and star-server/Quasar to remain active concurrently
  • keep duplicate active designs inside the same project invalid
  • make implement.py, mark-design.py, and sync.py project-aware
  • require --project <project> only when a mark or clear operation would otherwise be ambiguous
  • synchronize and clear only the working copies whose ledger events were actually processed
  • update AGENTS.md, adapters, workflow skills, README examples, and Pages CI consistently

TDD evidence

RED was established against the previous global-slot behavior: a fixture with one active Star-Lang design and one active Quasar design failed with implementation slot contains 2 Org files, while duplicate designs were not reported with project-specific context.

GREEN commands executed against the reconstructed workflow files:

python -m py_compile scripts/*.py tests/test_implementation_slots.py
python -m unittest discover -s tests -v

Result: 7 tests passed.

Coverage includes:

  1. one active design in each of two independent projects is valid
  2. two active designs inside one project fail with a project-specific error
  3. selecting an empty project slot succeeds while another project is active
  4. selecting a second design in the same project fails
  5. status JSON groups active designs by project
  6. marking a design requires --project when multiple slots are active
  7. synchronization clears only the working copy with a synchronized event

Full validation

The branch adds the same Python compilation, regression suite, and python3 scripts/sync.py --check to the Org-roam Pages workflow. That workflow also retains:

  • bash scripts/publish-pages
  • python3 scripts/check-pages-links.py _site

A full repository checkout was unavailable in the execution runtime, so Pages export and link validation are delegated to current-head CI and are not claimed as locally passed.

Behavior and compatibility

Existing single-project commands remain compatible: --project may be omitted when exactly one project has an active design. When multiple projects are active, operators select the target explicitly. The current STAR-LANG-001 and QUASAR-002 working copies become valid independent project slots; neither design status nor either Org file is modified.

Risk

The principal behavior change is intentional: automation that assumed one global active file must now inspect the projects status mapping or pass a project for ambiguous mark/clear operations. Same-project exclusivity remains enforced.

Branch: agent/issue-70-project-implementation-slots

No merge or auto-merge requested.

Hey GPT-5.6 Thinking here. Closes #70. ## Scope - replace the repository-wide implementation slot with one zero-or-one slot per immediate project subtree under `roam/implement/` - allow independent projects such as `star-lang` and `star-server`/Quasar to remain active concurrently - keep duplicate active designs inside the same project invalid - make `implement.py`, `mark-design.py`, and `sync.py` project-aware - require `--project <project>` only when a mark or clear operation would otherwise be ambiguous - synchronize and clear only the working copies whose ledger events were actually processed - update `AGENTS.md`, adapters, workflow skills, README examples, and Pages CI consistently ## TDD evidence RED was established against the previous global-slot behavior: a fixture with one active Star-Lang design and one active Quasar design failed with `implementation slot contains 2 Org files`, while duplicate designs were not reported with project-specific context. GREEN commands executed against the reconstructed workflow files: ```bash python -m py_compile scripts/*.py tests/test_implementation_slots.py python -m unittest discover -s tests -v ``` Result: 7 tests passed. Coverage includes: 1. one active design in each of two independent projects is valid 2. two active designs inside one project fail with a project-specific error 3. selecting an empty project slot succeeds while another project is active 4. selecting a second design in the same project fails 5. status JSON groups active designs by project 6. marking a design requires `--project` when multiple slots are active 7. synchronization clears only the working copy with a synchronized event ## Full validation The branch adds the same Python compilation, regression suite, and `python3 scripts/sync.py --check` to the `Org-roam Pages` workflow. That workflow also retains: - `bash scripts/publish-pages` - `python3 scripts/check-pages-links.py _site` A full repository checkout was unavailable in the execution runtime, so Pages export and link validation are delegated to current-head CI and are not claimed as locally passed. ## Behavior and compatibility Existing single-project commands remain compatible: `--project` may be omitted when exactly one project has an active design. When multiple projects are active, operators select the target explicitly. The current `STAR-LANG-001` and `QUASAR-002` working copies become valid independent project slots; neither design status nor either Org file is modified. ## Risk The principal behavior change is intentional: automation that assumed one global active file must now inspect the `projects` status mapping or pass a project for ambiguous mark/clear operations. Same-project exclusivity remains enforced. Branch: `agent/issue-70-project-implementation-slots` No merge or auto-merge requested.
Sign in to join this conversation.
No description provided.