refactor(#180): migrate STATE.md Document Module to sdk/src/state (#249)

* refactor(#180): migrate state document module to sdk/src/state

* test(#180): ratchet lint allowlists for state module relocation
This commit is contained in:
Tom Boucher
2026-05-24 21:06:50 -04:00
committed by GitHub
parent 9aae41f22d
commit 59bcdf03b6
20 changed files with 50 additions and 34 deletions

View File

@@ -8,7 +8,7 @@
"verify": { "current": 10, "issue": "3767" },
"install": { "current": 9, "issue": "TBD" },
"init": { "current": 8, "issue": "TBD" },
"state": { "current": 10, "issue": "21" },
"state": { "current": 11, "issue": "180" },
"config": { "current": 8, "issue": "TBD" },
"graphify": { "current": 7, "issue": "TBD" },
"progress": { "current": 6, "issue": "14" },
@@ -16,7 +16,7 @@
"surface": { "current": 5, "issue": "TBD" },
"commit": { "current": 4, "issue": "TBD" },
"frontmatter": { "current": 4, "issue": "TBD" },
"index": { "current": 4, "issue": "TBD" },
"index": { "current": 5, "issue": "180" },
"intel": { "current": 4, "issue": "TBD" },
"mvp": { "current": 4, "issue": "TBD" },
"install-profiles": { "current": 4, "issue": "TBD" },

View File

@@ -52,9 +52,9 @@
},
{
"cjs": "get-shit-done/bin/lib/state-document.cjs",
"ts": "sdk/src/query/state-document.ts",
"classification": "cooperating-sibling",
"justification": "CJS state-document.cjs is the generated Adapter reading from sdk/src/state-document/ Shared Module (Phase 1/#3531). SDK state-document.ts is the corresponding source-of-truth query handler. Freshness check enforces alignment."
"ts": "sdk/src/state/index.ts",
"classification": "ADAPTER-OVER-MODULE",
"justification": "CJS state-document.cjs is a thin Adapter over get-shit-done/bin/lib/state-document.generated.cjs. That generated artifact is emitted from sdk/src/state/index.ts by sdk/scripts/gen-state-document.ts; freshness is enforced by sdk/scripts/check-state-document-fresh.mjs."
},
{
"cjs": "get-shit-done/bin/lib/template.cjs",
@@ -92,6 +92,18 @@
"classification": "CJS-CLI-ONLY",
"justification": "Phase 2 (#3536) already migrated CONFIG_DEFAULTS and loadConfig/mergeDefaults to the Configuration Module and sdk/src/config.ts. What remains in config.cjs is exclusively CLI command handlers (cmdConfigGet, cmdConfigSet, cmdConfigNewProject, cmdConfigEnsureSection, cmdConfigSetModelProfile, cmdConfigPath, cmdMigrateConfig, buildNewProjectConfig, setConfigValue, ensureConfigFile) that depend on CJS-only APIs (withPlanningLock, platformWriteSync/ReadSync/EnsureDir, sync fs ops, process.exit). sdk/src/config.ts provides only the async loadConfig/mergeDefaults SDK layer. The two files serve disjoint surfaces with no logical overlap — not a hand-sync drift anti-pattern."
},
{
"cjs": "get-shit-done/bin/lib/config.cjs",
"ts": "sdk/src/config/index.ts",
"classification": "ADAPTER-OVER-MODULE",
"justification": "sdk/src/config/index.ts is the Configuration Module source-of-truth; CJS config.cjs consumes its generated Adapter through core/config-schema integration. This is an intentional seam relationship, not manual hand-sync."
},
{
"cjs": "get-shit-done/bin/lib/state.cjs",
"ts": "sdk/src/state/index.ts",
"classification": "ADAPTER-OVER-MODULE",
"justification": "sdk/src/state/index.ts is the STATE.md Document Module source-of-truth that emits get-shit-done/bin/lib/state-document.generated.cjs. state.cjs consumes that generated module as an Adapter dependency; basename overlap is intentional and not a duplicated implementation."
},
{
"cjs": "get-shit-done/bin/lib/intel.cjs",
"ts": "sdk/src/query/intel.ts",