spec(openspec): archive completed project-map changes
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
# Apply Progress
|
||||
|
||||
Status: complete
|
||||
|
||||
Summary: Implemented paired map/index artifacts, layered routing/orientation protocol, pair-aware patch/validate/reinit flows, config caps, and docs/runtime guidance.
|
||||
|
||||
Implemented commits:
|
||||
- c6064f8 Implement layered maps and context retrieval
|
||||
|
||||
Stale-checkbox reconciliation: historical implementation completed in committed work above; tasks.md reconciled to checked state on 2026-06-11.
|
||||
@@ -0,0 +1,9 @@
|
||||
# Archive Report
|
||||
|
||||
Status: archived
|
||||
|
||||
Archived path: openspec/changes/archive/2026-06-11-layered-map-protocol
|
||||
|
||||
Archive mode: manual archive fallback in openspec-only repo with legacy flat change specs; canonical sync marked not-applicable in sync-report.md.
|
||||
|
||||
Inputs preserved in archive: proposal.md, spec.md, design.md, tasks.md, apply-progress.md, verify-report.md, sync-report.md.
|
||||
@@ -0,0 +1,7 @@
|
||||
# Sync Report
|
||||
|
||||
Status: NOT-APPLICABLE
|
||||
|
||||
Reason: This repository uses legacy flat change artifacts (proposal.md/spec.md/design.md/tasks.md) and does not maintain a canonical openspec/specs/ tree for these changes. No canonical spec sync was performed.
|
||||
|
||||
User-approved fallback: archive completed change as an audit record without canonical spec sync.
|
||||
+12
-12
@@ -58,18 +58,18 @@
|
||||
|
||||
## Acceptance checklist
|
||||
|
||||
- [ ] Every non-ignored directory has both `.pi-map.md` and `.pi-map.index.md`
|
||||
- [ ] Root Tier 0 behavior is emitted in generated root artifacts
|
||||
- [ ] Indexes are routing-first, role-first, and include parent/child/sibling links
|
||||
- [ ] Rich maps are orientation-first and include sibling index links
|
||||
- [ ] Changed-directory patch always regenerates both artifacts
|
||||
- [ ] Ancestor refresh follows small vs structural rules
|
||||
- [ ] Validation hard-fails on missing/stale paired artifacts and supports `validate --fix`
|
||||
- [ ] Workflow-hint count and tag cap are configurable
|
||||
- [ ] No vector-store or Engram dependency is introduced
|
||||
- [ ] `npm run typecheck` passes
|
||||
- [ ] `npm test` passes
|
||||
- [ ] `npm run lint` passes
|
||||
- [x] Every non-ignored directory has both `.pi-map.md` and `.pi-map.index.md`
|
||||
- [x] Root Tier 0 behavior is emitted in generated root artifacts
|
||||
- [x] Indexes are routing-first, role-first, and include parent/child/sibling links
|
||||
- [x] Rich maps are orientation-first and include sibling index links
|
||||
- [x] Changed-directory patch always regenerates both artifacts
|
||||
- [x] Ancestor refresh follows small vs structural rules
|
||||
- [x] Validation hard-fails on missing/stale paired artifacts and supports `validate --fix`
|
||||
- [x] Workflow-hint count and tag cap are configurable
|
||||
- [x] No vector-store or Engram dependency is introduced
|
||||
- [x] `npm run typecheck` passes
|
||||
- [x] `npm test` passes
|
||||
- [x] `npm run lint` passes *(N/A: repo has no ESLint config; pre-existing repository gap, not a change regression)*
|
||||
|
||||
## Review workload note
|
||||
This change crosses format, generation, patching, validation, config, docs, and prompt guidance. Keep implementation in narrow, reviewable slices and avoid one oversized PR.
|
||||
@@ -0,0 +1,22 @@
|
||||
# Verify Report
|
||||
|
||||
Status: PASS
|
||||
|
||||
Change: layered-map-protocol
|
||||
|
||||
Verified summary: Implemented paired map/index artifacts, layered routing/orientation protocol, pair-aware patch/validate/reinit flows, config caps, and docs/runtime guidance.
|
||||
|
||||
Evidence commands:
|
||||
- npm run typecheck
|
||||
- npx vitest run
|
||||
- npm run build
|
||||
- node dist/cli.js validate .
|
||||
|
||||
Current validation state:
|
||||
- npm run typecheck: PASS
|
||||
- npx vitest run: PASS (262/262)
|
||||
- npm run build: PASS
|
||||
- node dist/cli.js validate .: PASS
|
||||
|
||||
Notes:
|
||||
- Repo-wide lint remains unavailable because the repository has no ESLint config; treated as a pre-existing repository-level gap, not a change regression.
|
||||
@@ -0,0 +1,10 @@
|
||||
# Apply Progress
|
||||
|
||||
Status: complete
|
||||
|
||||
Summary: Implemented deterministic index-first context retrieval via tool and CLI, plus retrieval docs/skill guidance.
|
||||
|
||||
Implemented commits:
|
||||
- c6064f8 Implement layered maps and context retrieval
|
||||
|
||||
Stale-checkbox reconciliation: historical implementation completed in committed work above; tasks.md reconciled to checked state on 2026-06-11.
|
||||
@@ -0,0 +1,9 @@
|
||||
# Archive Report
|
||||
|
||||
Status: archived
|
||||
|
||||
Archived path: openspec/changes/archive/2026-06-11-map-context-retrieval
|
||||
|
||||
Archive mode: manual archive fallback in openspec-only repo with legacy flat change specs; canonical sync marked not-applicable in sync-report.md.
|
||||
|
||||
Inputs preserved in archive: proposal.md, spec.md, design.md, tasks.md, apply-progress.md, verify-report.md, sync-report.md.
|
||||
@@ -0,0 +1,7 @@
|
||||
# Sync Report
|
||||
|
||||
Status: NOT-APPLICABLE
|
||||
|
||||
Reason: This repository uses legacy flat change artifacts (proposal.md/spec.md/design.md/tasks.md) and does not maintain a canonical openspec/specs/ tree for these changes. No canonical spec sync was performed.
|
||||
|
||||
User-approved fallback: archive completed change as an audit record without canonical spec sync.
|
||||
+7
-7
@@ -20,13 +20,13 @@
|
||||
8. [ ] Update docs and skill guidance for retrieval usage
|
||||
## Acceptance checklist
|
||||
|
||||
- [ ] Tool works for natural-language queries via `query`
|
||||
- [ ] Output includes relevant indexes, strongest-match maps, likely files, symbols when useful, and instructions
|
||||
- [ ] Retrieval depends on paired metadata rather than raw source scanning
|
||||
- [ ] Ranking follows the index-first routing model with a top-3 default
|
||||
- [ ] `npm run typecheck` passes
|
||||
- [ ] `npm test` passes
|
||||
- [ ] `npm run lint` passes
|
||||
- [x] Tool works for natural-language queries via `query`
|
||||
- [x] Output includes relevant indexes, strongest-match maps, likely files, symbols when useful, and instructions
|
||||
- [x] Retrieval depends on paired metadata rather than raw source scanning
|
||||
- [x] Ranking follows the index-first routing model with a top-3 default
|
||||
- [x] `npm run typecheck` passes
|
||||
- [x] `npm test` passes
|
||||
- [x] `npm run lint` passes *(N/A: repo has no ESLint config; pre-existing repository gap, not a change regression)*
|
||||
|
||||
## Sequencing note
|
||||
This change is intentionally follow-up work. It should start after the layered map protocol produces reliable paired routing metadata.
|
||||
@@ -0,0 +1,23 @@
|
||||
# Verify Report
|
||||
|
||||
Status: PASS
|
||||
|
||||
Change: map-context-retrieval
|
||||
|
||||
Verified summary: Implemented deterministic index-first context retrieval via tool and CLI, plus retrieval docs/skill guidance.
|
||||
|
||||
Evidence commands:
|
||||
- npm run typecheck
|
||||
- npx vitest run
|
||||
- npm run build
|
||||
- node dist/cli.js context "validation routing"
|
||||
- node dist/cli.js validate .
|
||||
|
||||
Current validation state:
|
||||
- npm run typecheck: PASS
|
||||
- npx vitest run: PASS (262/262)
|
||||
- npm run build: PASS
|
||||
- node dist/cli.js validate .: PASS
|
||||
|
||||
Notes:
|
||||
- Repo-wide lint remains unavailable because the repository has no ESLint config; treated as a pre-existing repository-level gap, not a change regression.
|
||||
@@ -0,0 +1,15 @@
|
||||
# Apply Progress
|
||||
|
||||
Status: complete
|
||||
|
||||
Summary: Implemented prompt-injection slices 1-5: mode/config surface, root-pair preload, reinjection/dedupe, strict/advisory/strong/off semantics, and documentation/runtime alignment.
|
||||
|
||||
Implemented commits:
|
||||
- 56560d9 feat(prompt): implement prompt injection slice 1
|
||||
- 621434b feat(prompt): implement prompt injection slice 2
|
||||
- 19666c9 feat(prompt): implement prompt injection slice 3
|
||||
- 58e8bd3 feat(prompt): implement prompt injection slice 4
|
||||
- 11365fa docs(prompt): align prompt injection guidance and runtime copy
|
||||
- c11d49d spec(prompt): add project map prompt injection change set
|
||||
|
||||
Stale-checkbox reconciliation: historical implementation completed in committed work above; tasks.md reconciled to checked state on 2026-06-11.
|
||||
@@ -0,0 +1,9 @@
|
||||
# Archive Report
|
||||
|
||||
Status: archived
|
||||
|
||||
Archived path: openspec/changes/archive/2026-06-11-project-map-prompt-injection
|
||||
|
||||
Archive mode: manual archive fallback in openspec-only repo with legacy flat change specs; canonical sync marked not-applicable in sync-report.md.
|
||||
|
||||
Inputs preserved in archive: proposal.md, spec.md, design.md, tasks.md, apply-progress.md, verify-report.md, sync-report.md.
|
||||
@@ -0,0 +1,7 @@
|
||||
# Sync Report
|
||||
|
||||
Status: NOT-APPLICABLE
|
||||
|
||||
Reason: This repository uses legacy flat change artifacts (proposal.md/spec.md/design.md/tasks.md) and does not maintain a canonical openspec/specs/ tree for these changes. No canonical spec sync was performed.
|
||||
|
||||
User-approved fallback: archive completed change as an audit record without canonical spec sync.
|
||||
+14
-14
@@ -71,20 +71,20 @@
|
||||
|
||||
## Acceptance checklist
|
||||
|
||||
- [ ] Before init, only a lightweight `project_map_init` hint is injected
|
||||
- [ ] No synthetic map/index artifact content is injected before init
|
||||
- [ ] After init, root `.pi-map.index.md` and root `.pi-map.md` are always guaranteed before budgeted expansion
|
||||
- [ ] Expansion uses a hybrid cap with both relative and absolute knobs, smaller effective budget wins
|
||||
- [ ] Default budget is 15% of active context window, capped at 100k tokens
|
||||
- [ ] Reinjection avoidance is based on canonical marker scanning in actual outgoing context
|
||||
- [ ] `strong` checks only relevant turns, not every trivial turn
|
||||
- [ ] Modes `off`, `advisory`, `strong`, and `strict` are implemented with the agreed semantics
|
||||
- [ ] Mixed visibility behavior is preserved
|
||||
- [ ] Retrieval behavior remains separate from this spec’s implementation scope
|
||||
- [ ] Extensive integration tests validate context scanning and reinjection behavior
|
||||
- [ ] `npm run typecheck` passes
|
||||
- [ ] `npm test` passes
|
||||
- [ ] `npm run lint` passes
|
||||
- [x] Before init, only a lightweight `project_map_init` hint is injected
|
||||
- [x] No synthetic map/index artifact content is injected before init
|
||||
- [x] After init, root `.pi-map.index.md` and root `.pi-map.md` are always guaranteed before budgeted expansion
|
||||
- [x] Expansion uses a hybrid cap with both relative and absolute knobs, smaller effective budget wins
|
||||
- [x] Default budget is 15% of active context window, capped at 100k tokens
|
||||
- [x] Reinjection avoidance is based on canonical marker scanning in actual outgoing context
|
||||
- [x] `strong` checks only relevant turns, not every trivial turn
|
||||
- [x] Modes `off`, `advisory`, `strong`, and `strict` are implemented with the agreed semantics
|
||||
- [x] Mixed visibility behavior is preserved
|
||||
- [x] Retrieval behavior remains separate from this spec’s implementation scope
|
||||
- [x] Extensive integration tests validate context scanning and reinjection behavior
|
||||
- [x] `npm run typecheck` passes
|
||||
- [x] `npm test` passes
|
||||
- [x] `npm run lint` passes *(N/A: repo has no ESLint config; pre-existing repository gap, not a change regression)*
|
||||
|
||||
## Review workload note
|
||||
This change mixes runtime hook behavior, prompt budgeting, context dedupe, visibility policy, and strict-mode enforcement. Keep delivery narrow and test-heavy. Avoid collapsing this into one oversized implementation slice.
|
||||
@@ -0,0 +1,22 @@
|
||||
# Verify Report
|
||||
|
||||
Status: PASS
|
||||
|
||||
Change: project-map-prompt-injection
|
||||
|
||||
Verified summary: Implemented prompt-injection slices 1-5: mode/config surface, root-pair preload, reinjection/dedupe, strict/advisory/strong/off semantics, and documentation/runtime alignment.
|
||||
|
||||
Evidence commands:
|
||||
- npm run typecheck
|
||||
- npx vitest run
|
||||
- npm run build
|
||||
- node dist/cli.js validate .
|
||||
|
||||
Current validation state:
|
||||
- npm run typecheck: PASS
|
||||
- npx vitest run: PASS (262/262)
|
||||
- npm run build: PASS
|
||||
- node dist/cli.js validate .: PASS
|
||||
|
||||
Notes:
|
||||
- Repo-wide lint remains unavailable because the repository has no ESLint config; treated as a pre-existing repository-level gap, not a change regression.
|
||||
Reference in New Issue
Block a user