From 68229a8996317f29ab6e9f297f715ac52da8a67f Mon Sep 17 00:00:00 2001 From: Affaan Mustafa Date: Tue, 12 May 2026 04:08:34 -0400 Subject: [PATCH] docs: inventory workspace legacy repos (#1789) --- docs/ECC-2.0-GA-ROADMAP.md | 9 ++++- docs/legacy-artifact-inventory.md | 40 ++++++++++++++++++++ tests/docs/legacy-artifact-inventory.test.js | 30 +++++++++++++++ 3 files changed, 77 insertions(+), 2 deletions(-) diff --git a/docs/ECC-2.0-GA-ROADMAP.md b/docs/ECC-2.0-GA-ROADMAP.md index 5015fc87..48cc7474 100644 --- a/docs/ECC-2.0-GA-ROADMAP.md +++ b/docs/ECC-2.0-GA-ROADMAP.md @@ -31,8 +31,10 @@ As of 2026-05-12: npm dist-tag, Claude plugin, Codex plugin, OpenCode package, billing, and announcement publication on fresh evidence fields. - `docs/legacy-artifact-inventory.md` records that no `_legacy-documents-*` - directories exist in the current checkout and classifies - `legacy-command-shims/` as an opt-in archive/no-action surface. + directories exist in the current checkout, inventories the two sibling + workspace-level `_legacy-documents-*` repos as sanitized extraction sources, + and classifies `legacy-command-shims/` as an opt-in archive/no-action + surface. - `docs/stale-pr-salvage-ledger.md` records stale PR salvage outcomes, skipped PRs, superseded work, and the remaining #1687 translator/manual review tail. @@ -183,6 +185,9 @@ Acceptance: - Legacy directories and orphaned handoffs are inventoried. - Each useful artifact is marked landed, Linear/project-tracked, salvage branch, or archive/no-action. +- Workspace-level legacy repos are mined only through sanitized maintainer + branches; raw context, secrets, personal paths, local settings, and private + drafts are never imported wholesale. - Stale PR salvage policy stays in force: close stale/conflicted PRs first, record a salvage ledger item, then port useful compatible content on maintainer branches with attribution. diff --git a/docs/legacy-artifact-inventory.md b/docs/legacy-artifact-inventory.md index 29820b34..d7ec91d1 100644 --- a/docs/legacy-artifact-inventory.md +++ b/docs/legacy-artifact-inventory.md @@ -29,6 +29,24 @@ Expected result: no output. The only tracked legacy directory currently found by filename scan is `legacy-command-shims/`. +The umbrella ECC workspace also contains sibling legacy git repositories outside +this tracked checkout. These are intentionally inventoried separately because +they can contain raw operator context, local settings, private drafts, or +untracked files that should not be copied into the public repo wholesale. + +Fresh workspace-level check from the ECC umbrella directory: + +```sh +find .. -maxdepth 1 -type d -name '_legacy-documents-*' -print | sort +``` + +Expected result: + +```text +../_legacy-documents-ecc-context-2026-04-30 +../_legacy-documents-ecc-everything-claude-code-2026-04-30 +``` + ## Inventory | Artifact | State | Evidence | Action | @@ -38,6 +56,28 @@ The only tracked legacy directory currently found by filename scan is | Closed-stale PR salvage ledger | Landed | `docs/stale-pr-salvage-ledger.md` records useful stale work recovered through maintainer PRs. | Continue using the ledger pattern for future stale closures. | | #1687 zh-CN localization tail | Translator/manual review | Large safe subsets landed in #1746-#1752; remaining pieces require translator/manual review per salvage ledger. | Do not blindly cherry-pick. Split by docs, commands, agents, and skills if a translator review lane opens. | +## Workspace-Level Legacy Repos + +These sibling repositories live outside the tracked `everything-claude-code` +checkout. They are source material for future salvage passes, not installable +release assets. + +| Artifact | State | Evidence | Action | +| --- | --- | --- | --- | +| `../_legacy-documents-ecc-everything-claude-code-2026-04-30` | Archive/no-action | Separate legacy checkout on `fix/configure-ecc-skill-copy-paths-1483` at `b78ddbd0`; useful configure-ecc and install-path concepts have been superseded by current install docs and tests. The checkout also has untracked localized project-guidelines examples and a Finder duplicate `skills/social-graph-ranker/SKILL 2.md`. | Do not import wholesale. If configure-ecc copy-root regressions reappear, use this branch only as source-attributed archaeology and port through a fresh maintainer branch. Leave Finder duplicates out of source control. | +| `../_legacy-documents-ecc-context-2026-04-30` | Milestone-tracked | Archived `ECC-context` repo is four commits ahead of its origin and contains context, gameplan, knowledge, marketing, AgentShield, and ECC Tools planning material. It also contains local/private surfaces such as `.env` and local settings. | Keep as a sanitized extraction source for roadmap, launch, AgentShield, and ECC Tools work. Never copy raw context, secrets, personal paths, private settings, or unpublished drafts into this repo. Port only focused, public-safe content with attribution. | + +## Workspace Legacy Import Rules + +When mining workspace-level legacy repos: + +1. Do not read, print, stage, or copy `.env` files, tokens, OAuth secrets, + local settings, personal paths, or private operator context. +2. Do not import raw marketing drafts, gameplans, or chat/context dumps. +3. Extract only focused, public-safe ideas into current docs or code. +4. Attribute the source legacy repo, branch, commit, or stale PR in the new PR. +5. Validate the result with the same tests and release checks as native work. + ## Legacy Command Shim Contents The compatibility archive currently contains 12 retired command shims: diff --git a/tests/docs/legacy-artifact-inventory.test.js b/tests/docs/legacy-artifact-inventory.test.js index ce706431..8a349741 100644 --- a/tests/docs/legacy-artifact-inventory.test.js +++ b/tests/docs/legacy-artifact-inventory.test.js @@ -75,6 +75,36 @@ test('any _legacy-documents directories are explicitly inventoried', () => { } }); +test('workspace-level legacy repos are inventoried without personal paths', () => { + const source = read('docs/legacy-artifact-inventory.md'); + + for (const dir of [ + '../_legacy-documents-ecc-context-2026-04-30', + '../_legacy-documents-ecc-everything-claude-code-2026-04-30', + ]) { + assert.ok(source.includes(dir), `Missing workspace legacy repo ${dir}`); + } + + assert.ok(source.includes('Workspace-Level Legacy Repos')); + assert.ok(!source.includes('/Users/'), 'Inventory should avoid machine-local absolute paths'); +}); + +test('workspace legacy import rules block raw private context', () => { + const source = read('docs/legacy-artifact-inventory.md'); + + for (const required of [ + 'Do not read, print, stage, or copy `.env` files', + 'tokens', + 'OAuth secrets', + 'personal paths', + 'private operator context', + 'Do not import raw marketing drafts', + 'public-safe ideas', + ]) { + assert.ok(source.includes(required), `Missing import guardrail: ${required}`); + } +}); + test('legacy command shims remain classified as an opt-in archive', () => { const source = read('docs/legacy-artifact-inventory.md'); const readme = read('legacy-command-shims/README.md');