@warpgogol/forge 4.2.4 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +13 -5
- package/dist/os/adr/handlers/list-create.d.ts.map +1 -1
- package/dist/os/adr/handlers/list-create.js +4 -1
- package/dist/os/adr/handlers/list-create.js.map +1 -1
- package/dist/os/adr/handlers/validate.d.ts.map +1 -1
- package/dist/os/adr/handlers/validate.js +6 -1
- package/dist/os/adr/handlers/validate.js.map +1 -1
- package/dist/os/adr/types.d.ts.map +1 -1
- package/dist/os/adr/types.js +7 -3
- package/dist/os/adr/types.js.map +1 -1
- package/dist/os/compass/compass.module.d.ts.map +1 -1
- package/dist/os/compass/compass.module.js +76 -10
- package/dist/os/compass/compass.module.js.map +1 -1
- package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +1 -1
- package/dist/os/compass/handlers/compass-audit-handler.js +7 -3
- package/dist/os/compass/handlers/compass-audit-handler.js.map +1 -1
- package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +1 -9
- package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +1 -1
- package/dist/os/compass/handlers/compass-change-summary-handler.js +44 -186
- package/dist/os/compass/handlers/compass-change-summary-handler.js.map +1 -1
- package/dist/os/compass/handlers/compass-inventory-handler.d.ts +2 -0
- package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +1 -1
- package/dist/os/compass/handlers/compass-inventory-handler.js +24 -12
- package/dist/os/compass/handlers/compass-inventory-handler.js.map +1 -1
- package/dist/os/compass/handlers/compass-inventory.d.ts +7 -5
- package/dist/os/compass/handlers/compass-inventory.d.ts.map +1 -1
- package/dist/os/compass/handlers/compass-inventory.js +84 -241
- package/dist/os/compass/handlers/compass-inventory.js.map +1 -1
- package/dist/os/compass/handlers/compass-migrate-handler.d.ts +4 -0
- package/dist/os/compass/handlers/compass-migrate-handler.d.ts.map +1 -0
- package/dist/os/compass/handlers/compass-migrate-handler.js +100 -0
- package/dist/os/compass/handlers/compass-migrate-handler.js.map +1 -0
- package/dist/os/compass/handlers/compass-migrate.d.ts +34 -0
- package/dist/os/compass/handlers/compass-migrate.d.ts.map +1 -0
- package/dist/os/compass/handlers/compass-migrate.js +273 -0
- package/dist/os/compass/handlers/compass-migrate.js.map +1 -0
- package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +1 -1
- package/dist/os/compass/handlers/resolve-scan-root.js +15 -8
- package/dist/os/compass/handlers/resolve-scan-root.js.map +1 -1
- package/dist/os/compass/handlers/summary-record.d.ts +46 -0
- package/dist/os/compass/handlers/summary-record.d.ts.map +1 -0
- package/dist/os/compass/handlers/summary-record.js +233 -0
- package/dist/os/compass/handlers/summary-record.js.map +1 -0
- package/dist/os/compass/index.d.ts +4 -1
- package/dist/os/compass/index.d.ts.map +1 -1
- package/dist/os/compass/index.js +9 -1
- package/dist/os/compass/index.js.map +1 -1
- package/dist/os/compass/policy.d.ts +65 -0
- package/dist/os/compass/policy.d.ts.map +1 -0
- package/dist/os/compass/policy.js +241 -0
- package/dist/os/compass/policy.js.map +1 -0
- package/dist/os/core/core.module.d.ts.map +1 -1
- package/dist/os/core/core.module.js +9 -21
- package/dist/os/core/core.module.js.map +1 -1
- package/dist/os/core/handlers/forge-autonomy-validate.d.ts.map +1 -1
- package/dist/os/core/handlers/forge-autonomy-validate.js +7 -1
- package/dist/os/core/handlers/forge-autonomy-validate.js.map +1 -1
- package/dist/os/core/handlers/package-health.d.ts.map +1 -1
- package/dist/os/core/handlers/package-health.js +6 -1
- package/dist/os/core/handlers/package-health.js.map +1 -1
- package/dist/os/core/handlers/pinned-check.d.ts.map +1 -1
- package/dist/os/core/handlers/pinned-check.js +6 -1
- package/dist/os/core/handlers/pinned-check.js.map +1 -1
- package/dist/os/core/handlers/pinned-validate.d.ts.map +1 -1
- package/dist/os/core/handlers/pinned-validate.js +6 -1
- package/dist/os/core/handlers/pinned-validate.js.map +1 -1
- package/dist/os/core/handlers/validate.d.ts.map +1 -1
- package/dist/os/core/handlers/validate.js +6 -1
- package/dist/os/core/handlers/validate.js.map +1 -1
- package/dist/os/exploration/exploration.module.d.ts.map +1 -1
- package/dist/os/exploration/exploration.module.js +6 -4
- package/dist/os/exploration/exploration.module.js.map +1 -1
- package/dist/os/exploration/handlers/list.d.ts.map +1 -1
- package/dist/os/exploration/handlers/list.js +4 -1
- package/dist/os/exploration/handlers/list.js.map +1 -1
- package/dist/os/mission/handlers/archive.d.ts.map +1 -1
- package/dist/os/mission/handlers/archive.js +7 -3
- package/dist/os/mission/handlers/archive.js.map +1 -1
- package/dist/os/mission/index.d.ts.map +1 -1
- package/dist/os/mission/index.js +13 -0
- package/dist/os/mission/index.js.map +1 -1
- package/dist/os/notes/index.d.ts.map +1 -1
- package/dist/os/notes/index.js +7 -1
- package/dist/os/notes/index.js.map +1 -1
- package/dist/os/rfc/frontmatter-io.d.ts.map +1 -1
- package/dist/os/rfc/frontmatter-io.js +6 -1
- package/dist/os/rfc/frontmatter-io.js.map +1 -1
- package/dist/os/rfc/handlers/archive.d.ts.map +1 -1
- package/dist/os/rfc/handlers/archive.js +6 -1
- package/dist/os/rfc/handlers/archive.js.map +1 -1
- package/dist/os/rfc/handlers/implement-stamp.d.ts.map +1 -1
- package/dist/os/rfc/handlers/implement-stamp.js +7 -3
- package/dist/os/rfc/handlers/implement-stamp.js.map +1 -1
- package/dist/os/rfc/handlers/index-graph.d.ts.map +1 -1
- package/dist/os/rfc/handlers/index-graph.js +6 -1
- package/dist/os/rfc/handlers/index-graph.js.map +1 -1
- package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -1
- package/dist/os/rfc/handlers/lifecycle.js +6 -1
- package/dist/os/rfc/handlers/lifecycle.js.map +1 -1
- package/dist/os/rfc/handlers/list-create.d.ts.map +1 -1
- package/dist/os/rfc/handlers/list-create.js +6 -1
- package/dist/os/rfc/handlers/list-create.js.map +1 -1
- package/dist/os/rfc/handlers/pipeline-status.d.ts.map +1 -1
- package/dist/os/rfc/handlers/pipeline-status.js +6 -1
- package/dist/os/rfc/handlers/pipeline-status.js.map +1 -1
- package/dist/os/rfc/handlers/supersede-propose.d.ts.map +1 -1
- package/dist/os/rfc/handlers/supersede-propose.js +6 -1
- package/dist/os/rfc/handlers/supersede-propose.js.map +1 -1
- package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -1
- package/dist/os/rfc/handlers/validate-rules.js +7 -3
- package/dist/os/rfc/handlers/validate-rules.js.map +1 -1
- package/dist/os/rfc/handlers/validate.d.ts.map +1 -1
- package/dist/os/rfc/handlers/validate.js +6 -1
- package/dist/os/rfc/handlers/validate.js.map +1 -1
- package/dist/os/rfc/index.d.ts.map +1 -1
- package/dist/os/rfc/index.js +6 -1
- package/dist/os/rfc/index.js.map +1 -1
- package/dist/os/rfc/rfc.module.d.ts.map +1 -1
- package/dist/os/rfc/rfc.module.js +6 -1
- package/dist/os/rfc/rfc.module.js.map +1 -1
- package/dist/os/rfc/types.d.ts +7 -4
- package/dist/os/rfc/types.d.ts.map +1 -1
- package/dist/os/rfc/types.js +7 -4
- package/dist/os/rfc/types.js.map +1 -1
- package/dist/os/session/handlers/save.d.ts.map +1 -1
- package/dist/os/session/handlers/save.js +6 -1
- package/dist/os/session/handlers/save.js.map +1 -1
- package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +1 -1
- package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +6 -1
- package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +1 -1
- package/dist/os/werkstatt/handlers/workspace-deps.js +3 -3
- package/dist/os/werkstatt/handlers/workspace-deps.js.map +1 -1
- package/dist/os/workflow/index.d.ts.map +1 -1
- package/dist/os/workflow/index.js +6 -1
- package/dist/os/workflow/index.js.map +1 -1
- package/dist/src/config/forge-config.d.ts +50 -4
- package/dist/src/config/forge-config.d.ts.map +1 -1
- package/dist/src/config/forge-config.js +11 -19
- package/dist/src/config/forge-config.js.map +1 -1
- package/dist/src/forge-module.d.ts.map +1 -1
- package/dist/src/forge-module.js +6 -1
- package/dist/src/forge-module.js.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +10 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/migration-adapters/git-utils.d.ts.map +1 -1
- package/dist/src/migration-adapters/git-utils.js +6 -2
- package/dist/src/migration-adapters/git-utils.js.map +1 -1
- package/dist/src/migration-adapters/ignored-files.d.ts.map +1 -1
- package/dist/src/migration-adapters/ignored-files.js +6 -1
- package/dist/src/migration-adapters/ignored-files.js.map +1 -1
- package/dist/src/migration-adapters/index.d.ts.map +1 -1
- package/dist/src/migration-adapters/index.js +4 -1
- package/dist/src/migration-adapters/index.js.map +1 -1
- package/dist/src/migration-adapters/types.d.ts.map +1 -1
- package/dist/src/migration-adapters/types.js +6 -2
- package/dist/src/migration-adapters/types.js.map +1 -1
- package/dist/src/onboarding/agents-generate.js +7 -7
- package/dist/src/onboarding/create.d.ts.map +1 -1
- package/dist/src/onboarding/create.js +7 -6
- package/dist/src/onboarding/create.js.map +1 -1
- package/dist/src/onboarding/doctor.d.ts.map +1 -1
- package/dist/src/onboarding/doctor.js +7 -13
- package/dist/src/onboarding/doctor.js.map +1 -1
- package/dist/src/onboarding/init.d.ts.map +1 -1
- package/dist/src/onboarding/init.js +7 -12
- package/dist/src/onboarding/init.js.map +1 -1
- package/dist/src/onboarding/invariant-engine.d.ts.map +1 -1
- package/dist/src/onboarding/invariant-engine.js +7 -2
- package/dist/src/onboarding/invariant-engine.js.map +1 -1
- package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -1
- package/dist/src/onboarding/nested-agents-generate.js +7 -2
- package/dist/src/onboarding/nested-agents-generate.js.map +1 -1
- package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -1
- package/dist/src/onboarding/nested-agents-templates.js +6 -1
- package/dist/src/onboarding/nested-agents-templates.js.map +1 -1
- package/dist/src/onboarding/scaffold-project.d.ts.map +1 -1
- package/dist/src/onboarding/scaffold-project.js +6 -1
- package/dist/src/onboarding/scaffold-project.js.map +1 -1
- package/dist/src/onboarding/upgrade.d.ts.map +1 -1
- package/dist/src/onboarding/upgrade.js +7 -3
- package/dist/src/onboarding/upgrade.js.map +1 -1
- package/dist/src/profiles/profile-schema.d.ts +54 -4
- package/dist/src/profiles/profile-schema.d.ts.map +1 -1
- package/dist/src/profiles/profile-schema.js +34 -14
- package/dist/src/profiles/profile-schema.js.map +1 -1
- package/dist/src/profiles/stack-profile.d.ts +24 -0
- package/dist/src/profiles/stack-profile.d.ts.map +1 -1
- package/dist/src/profiles/stack-profile.js +7 -3
- package/dist/src/profiles/stack-profile.js.map +1 -1
- package/dist/src/registry.d.ts.map +1 -1
- package/dist/src/registry.js +7 -9
- package/dist/src/registry.js.map +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +6 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/utils/fs-atomic.d.ts.map +1 -1
- package/dist/src/utils/fs-atomic.js +13 -1
- package/dist/src/utils/fs-atomic.js.map +1 -1
- package/dist/src/utils/fs-idempotent.d.ts.map +1 -1
- package/dist/src/utils/fs-idempotent.js +13 -0
- package/dist/src/utils/fs-idempotent.js.map +1 -1
- package/dist/src/utils/fs-trash-sync.d.ts.map +1 -1
- package/dist/src/utils/fs-trash-sync.js +13 -1
- package/dist/src/utils/fs-trash-sync.js.map +1 -1
- package/dist/src/utils/fs-trash.d.ts.map +1 -1
- package/dist/src/utils/fs-trash.js +13 -1
- package/dist/src/utils/fs-trash.js.map +1 -1
- package/dist/src/utils/fs.d.ts.map +1 -1
- package/dist/src/utils/fs.js +14 -3
- package/dist/src/utils/fs.js.map +1 -1
- package/dist/src/utils/hash.d.ts.map +1 -1
- package/dist/src/utils/hash.js +12 -1
- package/dist/src/utils/hash.js.map +1 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +13 -2
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/string-utils.d.ts.map +1 -1
- package/dist/src/utils/string-utils.js +12 -1
- package/dist/src/utils/string-utils.js.map +1 -1
- package/dist/src/validators/port-validate.js +1 -1
- package/dist/src/validators/port-validate.js.map +1 -1
- package/dist/src/validators/skill-validate.d.ts.map +1 -1
- package/dist/src/validators/skill-validate.js +7 -8
- package/dist/src/validators/skill-validate.js.map +1 -1
- package/docs/reference/forge-yaml.md +38 -9
- package/os/adr/handlers/list-create.ts +4 -1
- package/os/adr/handlers/validate.ts +6 -1
- package/os/adr/types.ts +7 -3
- package/os/compass/compass.module.ts +79 -13
- package/os/compass/handlers/compass-audit-handler.ts +22 -3
- package/os/compass/handlers/compass-change-summary-handler.ts +55 -227
- package/os/compass/handlers/compass-inventory-handler.ts +30 -12
- package/os/compass/handlers/compass-inventory.ts +103 -240
- package/os/compass/handlers/compass-migrate-handler.ts +122 -0
- package/os/compass/handlers/compass-migrate.ts +361 -0
- package/os/compass/handlers/resolve-scan-root-package.test.ts +70 -0
- package/os/compass/handlers/resolve-scan-root.ts +15 -8
- package/os/compass/handlers/summary-record.ts +313 -0
- package/os/compass/handlers/tests/compass-migrate.test.ts +291 -0
- package/os/compass/handlers/tests/compass-policy.test.ts +249 -0
- package/os/compass/handlers/tests/compass-v2-contract.test.ts +9 -9
- package/os/compass/handlers/tests/summary-record.test.ts +224 -0
- package/os/compass/index.ts +23 -5
- package/os/compass/policy.ts +350 -0
- package/os/core/core.module.ts +9 -21
- package/os/core/handlers/forge-autonomy-validate.ts +7 -1
- package/os/core/handlers/package-health.ts +6 -1
- package/os/core/handlers/pinned-check.ts +6 -1
- package/os/core/handlers/pinned-validate.ts +6 -1
- package/os/core/handlers/validate.ts +6 -1
- package/os/exploration/exploration.module.ts +72 -71
- package/os/exploration/handlers/list.ts +4 -1
- package/os/mission/handlers/archive.ts +7 -3
- package/os/mission/index.ts +14 -0
- package/os/notes/index.ts +7 -1
- package/os/rfc/frontmatter-io.ts +6 -1
- package/os/rfc/handlers/archive.ts +6 -1
- package/os/rfc/handlers/implement-stamp.ts +7 -3
- package/os/rfc/handlers/index-graph.ts +6 -1
- package/os/rfc/handlers/lifecycle.ts +6 -1
- package/os/rfc/handlers/list-create.ts +6 -1
- package/os/rfc/handlers/pipeline-status.ts +6 -1
- package/os/rfc/handlers/supersede-propose.ts +6 -1
- package/os/rfc/handlers/validate-rules.ts +7 -3
- package/os/rfc/handlers/validate.ts +6 -1
- package/os/rfc/index.ts +6 -1
- package/os/rfc/rfc.module.ts +6 -1
- package/os/rfc/types.ts +7 -4
- package/os/session/handlers/save.ts +6 -1
- package/os/werkstatt/handlers/werkstatt-lock-recover.ts +6 -1
- package/os/werkstatt/handlers/workspace-deps.ts +3 -3
- package/os/workflow/index.ts +6 -1
- package/package.json +1 -1
- package/skills/fo/fo-add-tests/SKILL.md +14 -0
- package/skills/fo/fo-architecture/SKILL.md +14 -0
- package/skills/fo/fo-compass-annotate/SKILL.md +14 -0
- package/skills/fo/fo-design-summit/SKILL.md +14 -0
- package/skills/fo/fo-doc-audit/SKILL.md +14 -0
- package/skills/fo/fo-explore/SKILL.md +14 -0
- package/skills/fo/fo-extract-dna/SKILL.md +14 -0
- package/skills/fo/fo-fix/SKILL.md +14 -0
- package/skills/fo/fo-handoff/SKILL.md +14 -0
- package/skills/fo/fo-harvest/SKILL.md +14 -0
- package/skills/fo/fo-idea/SKILL.md +14 -0
- package/skills/fo/fo-idea-audit/SKILL.md +14 -0
- package/skills/fo/fo-idea-create-adr/SKILL.md +14 -0
- package/skills/fo/fo-idea-create-rfc/SKILL.md +14 -0
- package/skills/fo/fo-idea-enhance/SKILL.md +14 -0
- package/skills/fo/fo-idea-i-just-want-to-see-the-plan/SKILL.md +14 -0
- package/skills/fo/fo-idea-i-just-want-to-see-the-result/SKILL.md +14 -0
- package/skills/fo/fo-idea-implement/SKILL.md +14 -0
- package/skills/fo/fo-idea-plan/SKILL.md +14 -0
- package/skills/fo/fo-idea-status/SKILL.md +14 -0
- package/skills/fo/fo-knowledge-distill/SKILL.md +14 -0
- package/skills/fo/fo-memory-sync/SKILL.md +14 -0
- package/skills/fo/fo-qa/SKILL.md +14 -0
- package/skills/fo/fo-review/SKILL.md +14 -0
- package/skills/fo/fo-session-retro/SKILL.md +14 -0
- package/skills/fo/fo-session-save/SKILL.md +14 -0
- package/skills/fo/fo-spec-ingest/SKILL.md +14 -0
- package/skills/fo/fo-step-commit/SKILL.md +14 -0
- package/skills/fo/fo-triage/SKILL.md +14 -0
- package/skills/meta/forge-bootstrap/SKILL.md +14 -0
- package/skills/meta/port-to-forge/SKILL.md +14 -0
- package/skills/meta/skill-create/SKILL.md +14 -0
- package/skills/shared/grilling/SKILL.md +14 -0
- package/skills/shared/my-preferences/SKILL.md +14 -0
- package/skills/shared/windows-ai-tooling/SKILL.md +14 -0
- package/skills/shared/writing-great-skills/SKILL.md +14 -0
- package/src/config/forge-config.ts +16 -23
- package/src/forge-module.ts +6 -1
- package/src/index.ts +10 -2
- package/src/migration-adapters/git-utils.ts +6 -2
- package/src/migration-adapters/ignored-files.ts +6 -1
- package/src/migration-adapters/index.ts +4 -1
- package/src/migration-adapters/types.ts +6 -2
- package/src/onboarding/agents-generate.ts +7 -7
- package/src/onboarding/create.ts +7 -6
- package/src/onboarding/doctor.ts +7 -13
- package/src/onboarding/init.ts +7 -12
- package/src/onboarding/invariant-engine.ts +7 -2
- package/src/onboarding/nested-agents-generate.ts +7 -2
- package/src/onboarding/nested-agents-templates.ts +6 -1
- package/src/onboarding/scaffold-project.ts +6 -1
- package/src/onboarding/upgrade.ts +7 -3
- package/src/profiles/profile-schema.ts +42 -18
- package/src/profiles/stack-profile.ts +7 -3
- package/src/registry.ts +7 -9
- package/src/tests/agents-generate.test.ts +2 -2
- package/src/tests/forge-autonomy-validate.test.ts +1 -1
- package/src/types.ts +6 -1
- package/src/utils/fs-atomic.ts +13 -1
- package/src/utils/fs-idempotent.ts +13 -0
- package/src/utils/fs-trash-sync.ts +13 -1
- package/src/utils/fs-trash.ts +13 -1
- package/src/utils/fs.ts +14 -3
- package/src/utils/hash.ts +12 -1
- package/src/utils/index.ts +13 -2
- package/src/utils/string-utils.ts +12 -1
- package/src/validators/port-validate.ts +1 -1
- package/src/validators/skill-validate.ts +7 -8
- package/skills/shared/extension-e2e-mitm/SKILL.md +0 -53
- package/skills/shared/extension-e2e-mitm/fixture-proxy.ts +0 -113
- package/src/types/werkstatt-engine-shims.d.ts +0 -1416
- package/src/types/werkstatt-shared-shims.d.ts +0 -5686
|
@@ -31,18 +31,18 @@ syncedVersion: 4.1.6
|
|
|
31
31
|
|
|
32
32
|
## project
|
|
33
33
|
|
|
34
|
-
| Field
|
|
35
|
-
|
|
|
36
|
-
| `name`
|
|
37
|
-
| `stack`
|
|
38
|
-
| `packageManager` | string
|
|
34
|
+
| Field | Type | Required | Description |
|
|
35
|
+
| ---------------- | -------- | -------- | --------------------------------------------------- |
|
|
36
|
+
| `name` | string | yes | Project name, used in generated AGENTS.md and CI |
|
|
37
|
+
| `stack` | string[] | yes | Stack identifiers (e.g. `[typescript]`, `[phaser]`) |
|
|
38
|
+
| `packageManager` | string | yes | Package manager (`pnpm` only) |
|
|
39
39
|
|
|
40
40
|
## paths
|
|
41
41
|
|
|
42
|
-
| Field
|
|
43
|
-
|
|
|
44
|
-
| `rfcsDir`
|
|
45
|
-
| `adrsDir`
|
|
42
|
+
| Field | Default | Description |
|
|
43
|
+
| ----------- | ---------------- | ----------------------------- |
|
|
44
|
+
| `rfcsDir` | `docs/rfcs` | Directory for RFC files |
|
|
45
|
+
| `adrsDir` | `docs/adrs` | Directory for ADR files |
|
|
46
46
|
| `skillsDir` | `.agents/skills` | Directory for deployed skills |
|
|
47
47
|
|
|
48
48
|
## bindings.commands
|
|
@@ -77,6 +77,35 @@ bindings:
|
|
|
77
77
|
invariants: DNA
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
+
## bindings.compass
|
|
81
|
+
|
|
82
|
+
Optional. Consumer-level Compass policy overrides (RFC-1096). The same shape is available to stack profiles via their `compass:` section — resolution order is generic defaults → profile `compass:` → `bindings.compass`.
|
|
83
|
+
|
|
84
|
+
```yaml
|
|
85
|
+
bindings:
|
|
86
|
+
compass:
|
|
87
|
+
fileExtensions: [.ts, .tsx, ".svelte", "!.astro"]
|
|
88
|
+
testPatterns: ["**/*.test.ts", "test/**"]
|
|
89
|
+
scanRoots: [packages, services]
|
|
90
|
+
ignoredDirs: [spec, todo]
|
|
91
|
+
ignoredDirPrefixes: ["old-", "-"]
|
|
92
|
+
highRiskPaths: ["packages/engine/src/kernel/**"]
|
|
93
|
+
idPattern: "\\b([A-Z][A-Z0-9]*-)+\\d+\\b"
|
|
94
|
+
purposeBoilerplatePatterns: ["^(this file|the file)\\b"]
|
|
95
|
+
layerRules:
|
|
96
|
+
- { pattern: "src/pages/**", layer: page, risk: medium }
|
|
97
|
+
workspaceKinds: { apps: app, packages: package, services: service }
|
|
98
|
+
excludedPaths:
|
|
99
|
+
- { pattern: "src/templates/**", reason: template-source }
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Merge semantics per key:
|
|
103
|
+
|
|
104
|
+
- **Union-merge** (`fileExtensions`, `testPatterns`, `ignoredDirs`, `ignoredDirPrefixes`, `highRiskPaths`, `excludedPaths`): values merge with the generic defaults; an entry prefixed with `!` removes it (for `excludedPaths`, `!` matches on `pattern`).
|
|
105
|
+
- **Replace** (`scanRoots`, `idPattern`, `purposeBoilerplatePatterns`, `layerRules`, `workspaceKinds`): the consumer value replaces the whole list — repeat generic entries you still need.
|
|
106
|
+
|
|
107
|
+
`idPattern` must compile and match the `NAMESPACE-NUMBER` probe `ABC-123`, otherwise `resolveCompassPolicy` throws `CompassPolicyConfigError` naming the key. `layerRules` are evaluated first-match on the workspace-relative path; `highRiskPaths` are picomatch globs on the root-relative path that force `riskClass: high`. `excludedPaths` mark matching files `authoringStatus: excluded` with the given `reason` (they are still inventoried).
|
|
108
|
+
|
|
80
109
|
## skillPacks
|
|
81
110
|
|
|
82
111
|
Optional. Declares project-local skill packs:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
<MODULE_CONTRACT>
|
|
3
|
-
<purpose>ADR list and create handlers mirroring the RFC domain.</purpose>
|
|
3
|
+
<purpose>ADR list and create command handlers mirroring the RFC domain lifecycle for architecture decision records.</purpose>
|
|
4
4
|
<non-goals>
|
|
5
5
|
<item>Do not introduce app-specific runtime composition or deployment behavior.</item>
|
|
6
6
|
</non-goals>
|
|
@@ -8,6 +8,9 @@
|
|
|
8
8
|
<CHANGE_SUMMARY>
|
|
9
9
|
<item>RFC-0366: create ADR list and create handlers mirroring the RFC domain.</item>
|
|
10
10
|
<item>RFC-0521: migrated from packages/os/site-kernel/src/adr/ to packages/forge/os/adr/.</item>
|
|
11
|
+
<item>RFC-1097: sweep — packages/forge + services clean
|
|
12
|
+
|
|
13
|
+
Sweep batch 2: real KEY_DECISIONS on 10 files, expanded purposes (CONTRACT-02/PURPOSE-02), headers on mission/index + gen-upstreams, sanitizeItemText in summary.record (literal Compass tags corrupted history), excludedPaths for wrangler types, test-fixtures testPattern. forge+services now 0 diagnostics under --mode error.</item>
|
|
11
14
|
</CHANGE_SUMMARY>
|
|
12
15
|
*/
|
|
13
16
|
|
|
@@ -7,9 +7,14 @@
|
|
|
7
7
|
</MODULE_CONTRACT>
|
|
8
8
|
<CHANGE_SUMMARY>
|
|
9
9
|
<item>RFC-0366: implement fail-hard ADR validation for the new adrModule.</item>
|
|
10
|
-
<item>Post-refactor hardening: allow ADRs to be superseded by existing RFC decisions.</item>
|
|
11
10
|
<item>RFC-0521: migrated from packages/os/site-kernel/src/adr/ to packages/forge/os/adr/.</item>
|
|
12
11
|
<item>RFC-0722: add ADR-DIR-01 directory structure warning rule for unsanctioned subdirectories.</item>
|
|
12
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
13
|
+
|
|
14
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
15
|
+
<item>RFC-1097: sweep — werkstatt-engine clean
|
|
16
|
+
|
|
17
|
+
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.</item>
|
|
13
18
|
</CHANGE_SUMMARY>
|
|
14
19
|
*/
|
|
15
20
|
|
package/os/adr/types.ts
CHANGED
|
@@ -11,12 +11,16 @@ statuses, scopes, frontmatter shape, validation results, and list output.
|
|
|
11
11
|
</non-goals>
|
|
12
12
|
</MODULE_CONTRACT>
|
|
13
13
|
<CHANGE_SUMMARY>
|
|
14
|
-
<item>RFC-0366: introduce ADR types and constants mirroring the RFC domain contract.</item>
|
|
15
|
-
<item>RFC-0367: extend AdrStatus with reviewing and implemented; add implementedAt, closedAt, reviewers fields.</item>
|
|
16
|
-
<item>Post-refactor hardening: document that an ADR may be superseded by a broader RFC.</item>
|
|
17
14
|
<item>RFC-0521: migrated from packages/os/site-kernel/src/adr/ to packages/forge/os/adr/.</item>
|
|
18
15
|
<item>RFC-0727: add AdrImplementStamp types for atomic ADR status transition.</item>
|
|
19
16
|
<item>RFC-0996: add AV-17 acceptance criteria completeness check for implemented post-cutoff ADRs.</item>
|
|
17
|
+
<item>RFC-1097: step 6 — compass.migrate codemod run
|
|
18
|
+
|
|
19
|
+
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.</item>
|
|
20
|
+
<item>RFC-1097: sweep — packages/forge + services clean
|
|
21
|
+
|
|
22
|
+
Sweep batch 2: real KEY_DECISIONS on 10 files, expanded purposes (CONTRACT-02/PURPOSE-02), headers on mission/index + gen-upstreams, sanitizeItemText in summary.record (literal Compass tags corrupted history), excludedPaths for wrangler types, test-fixtures testPattern. forge+services now 0 diagnostics under --mode error.</item>
|
|
23
|
+
<history>RFC-0366, RFC-0367</history>
|
|
20
24
|
</CHANGE_SUMMARY>
|
|
21
25
|
*/
|
|
22
26
|
|
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
<item>RFC-0374: initial forgeCompassModule registering 12 compass commands.</item>
|
|
10
10
|
<item>RFC-0538: renamed compass.changesummary.tidy to compass.summary.trim, removed compass.annotate, compass.clear, compass.markup.migrate, compass.invariant.add.</item>
|
|
11
11
|
<item>RFC-0556: removed dynamic import of @warpgogol/site-kernel-checks, all handlers now inlined in forge/os/compass/handlers/.</item>
|
|
12
|
+
<item>RFC-1095: compass.summary.record, trim repair rewrite, commit integration</item>
|
|
13
|
+
<item>RFC-1097: steps 1-4 — compass.migrate codemod
|
|
14
|
+
|
|
15
|
+
Add the v1 to v2 Compass header codemod: migrateFile pure transform (collapse, strip, seed, reorder, purpose-flag actions), migrateWorkspace walker, runCompassMigrate handler with dirty-tree refusal and --force/--files/--dry-run flags, module registration, and 15 unit tests.</item>
|
|
12
16
|
</CHANGE_SUMMARY>
|
|
13
17
|
*/
|
|
14
18
|
|
|
@@ -21,10 +25,9 @@ import {
|
|
|
21
25
|
runCompassAuditBaseline,
|
|
22
26
|
runCompassAuditValidate,
|
|
23
27
|
} from "./handlers/compass-audit-handler.ts";
|
|
24
|
-
import {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
} from "./handlers/compass-change-summary-handler.ts";
|
|
28
|
+
import { runCompassSummaryTrim } from "./handlers/compass-change-summary-handler.ts";
|
|
29
|
+
import { runCompassSummaryRecord } from "./handlers/summary-record.ts";
|
|
30
|
+
import { runCompassMigrate } from "./handlers/compass-migrate-handler.ts";
|
|
28
31
|
|
|
29
32
|
const compassScanFlags = {
|
|
30
33
|
packages: {
|
|
@@ -33,7 +36,7 @@ const compassScanFlags = {
|
|
|
33
36
|
},
|
|
34
37
|
package: {
|
|
35
38
|
kind: "string",
|
|
36
|
-
description: "
|
|
39
|
+
description: "Scan one package by directory/name (implies --packages).",
|
|
37
40
|
},
|
|
38
41
|
workpiece: {
|
|
39
42
|
kind: "string",
|
|
@@ -85,25 +88,47 @@ export const forgeCompassModule: ForgeModule = {
|
|
|
85
88
|
execute: runCompassValidation,
|
|
86
89
|
},
|
|
87
90
|
{
|
|
88
|
-
name: "compass.
|
|
89
|
-
contract: "compass",
|
|
90
|
-
rules: [],
|
|
91
|
+
name: "compass.summary.record",
|
|
91
92
|
description:
|
|
92
|
-
"
|
|
93
|
+
"Append a governance-referencing item to each target file's CHANGE_SUMMARY and collapse the 5-item window into <history> (RFC-1095). Invoked by commit commands when a commit carries an RFC/ADR reference.",
|
|
93
94
|
scope: "workspace",
|
|
95
|
+
mutatesState: true,
|
|
94
96
|
supportsAllSites: true,
|
|
95
|
-
|
|
97
|
+
writes: [
|
|
98
|
+
"apps/**/*.{astro,ts,tsx,js,mjs,css,cs,tscn,tres,gd,md}",
|
|
99
|
+
"packages/**/*.{astro,ts,tsx,js,mjs,css,cs,tscn,tres,gd,md}",
|
|
100
|
+
"services/**/*.{ts,tsx,js,mjs,css,cs,tscn,tres,gd,md}",
|
|
101
|
+
],
|
|
96
102
|
reads: [
|
|
97
103
|
"packages/**/*.{ts,tsx,astro,js,mjs,css,cs,tscn,tres,gd,md}",
|
|
98
104
|
"apps/**/*.{ts,tsx,astro,js,mjs,css,cs,tscn,tres,gd,md}",
|
|
99
105
|
"services/**/*.{ts,tsx,astro,js,mjs,css,cs,tscn,tres,gd,md}",
|
|
100
106
|
],
|
|
101
|
-
|
|
107
|
+
cacheable: false,
|
|
108
|
+
flags: {
|
|
109
|
+
...compassScanFlags,
|
|
110
|
+
id: {
|
|
111
|
+
kind: "string",
|
|
112
|
+
required: true,
|
|
113
|
+
description: "Governance ID to record (e.g. RFC-1095, ADR-0042).",
|
|
114
|
+
},
|
|
115
|
+
files: {
|
|
116
|
+
kind: "string[]",
|
|
117
|
+
description:
|
|
118
|
+
"Target files (repo-relative, or workpiece-relative with --workpiece). Commit integrations pass the commit's changed-file set.",
|
|
119
|
+
},
|
|
120
|
+
text: {
|
|
121
|
+
kind: "string",
|
|
122
|
+
description:
|
|
123
|
+
"Item description. Default: commit subject minus conventional prefix; bare ID outside commit context.",
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
execute: runCompassSummaryRecord,
|
|
102
127
|
},
|
|
103
128
|
{
|
|
104
129
|
name: "compass.summary.trim",
|
|
105
130
|
description:
|
|
106
|
-
"
|
|
131
|
+
"Repair CHANGE_SUMMARY blocks to the v2 shape: collapse described items past 5 into <history>, remove ID-less items, normalize <history> (RFC-1095).",
|
|
107
132
|
scope: "workspace",
|
|
108
133
|
mutatesState: true,
|
|
109
134
|
supportsAllSites: true,
|
|
@@ -118,9 +143,50 @@ export const forgeCompassModule: ForgeModule = {
|
|
|
118
143
|
"services/**/*.{ts,tsx,astro,js,mjs,css,cs,tscn,tres,gd,md}",
|
|
119
144
|
],
|
|
120
145
|
cacheable: false,
|
|
121
|
-
flags: {
|
|
146
|
+
flags: {
|
|
147
|
+
...compassScanFlags,
|
|
148
|
+
mode: {
|
|
149
|
+
kind: "string",
|
|
150
|
+
description: "Repair mode: repair (default, only mode — reserved for future modes).",
|
|
151
|
+
},
|
|
152
|
+
},
|
|
122
153
|
execute: runCompassSummaryTrim,
|
|
123
154
|
},
|
|
155
|
+
{
|
|
156
|
+
name: "compass.migrate",
|
|
157
|
+
description:
|
|
158
|
+
"Rewrite authored file headers to the Compass v2 shape (RFC-1097): collapse CHANGE_SUMMARY into <history>, strip forbidden v1 blocks, seed KEY_DECISIONS from @ai-invariant comments, reorder blocks canonically. Refuses a dirty git tree unless --force.",
|
|
159
|
+
scope: "workspace",
|
|
160
|
+
mutatesState: true,
|
|
161
|
+
supportsAllSites: true,
|
|
162
|
+
writes: [
|
|
163
|
+
"apps/**/*.{astro,ts,tsx,js,mjs,css,cs,tscn,tres,gd,md}",
|
|
164
|
+
"packages/**/*.{astro,ts,tsx,js,mjs,css,cs,tscn,tres,gd,md}",
|
|
165
|
+
"services/**/*.{ts,tsx,js,mjs,css,cs,tscn,tres,gd,md}",
|
|
166
|
+
],
|
|
167
|
+
reads: [
|
|
168
|
+
"packages/**/*.{ts,tsx,astro,js,mjs,css,cs,tscn,tres,gd,md}",
|
|
169
|
+
"apps/**/*.{ts,tsx,astro,js,mjs,css,cs,tscn,tres,gd,md}",
|
|
170
|
+
"services/**/*.{ts,tsx,astro,js,mjs,css,cs,tscn,tres,gd,md}",
|
|
171
|
+
],
|
|
172
|
+
cacheable: false,
|
|
173
|
+
flags: {
|
|
174
|
+
...compassScanFlags,
|
|
175
|
+
files: {
|
|
176
|
+
kind: "string[]",
|
|
177
|
+
description: "Explicit root-relative file list — bypasses scan-root filtering entirely.",
|
|
178
|
+
},
|
|
179
|
+
"dry-run": {
|
|
180
|
+
kind: "boolean",
|
|
181
|
+
description: "Print the action manifest without writing any file.",
|
|
182
|
+
},
|
|
183
|
+
force: {
|
|
184
|
+
kind: "boolean",
|
|
185
|
+
description: "Override the dirty-tree refusal.",
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
execute: runCompassMigrate,
|
|
189
|
+
},
|
|
124
190
|
{
|
|
125
191
|
name: "compass.audit.plan",
|
|
126
192
|
description:
|
|
@@ -21,6 +21,7 @@ import { resolve, relative } from "node:path";
|
|
|
21
21
|
import { execFile } from "node:child_process";
|
|
22
22
|
import { promisify } from "node:util";
|
|
23
23
|
import { createCompassInventoryEntries } from "./compass-inventory.ts";
|
|
24
|
+
import { resolveCompassPolicy } from "../policy.ts";
|
|
24
25
|
import { resolveCompassScanRoot } from "./resolve-scan-root.ts";
|
|
25
26
|
import { getRevisionByPath } from "./git-revision.ts";
|
|
26
27
|
import type { CompassInventoryEntry } from "./compass-inventory.ts";
|
|
@@ -139,7 +140,13 @@ export async function runCompassAuditPlan(
|
|
|
139
140
|
}>
|
|
140
141
|
> {
|
|
141
142
|
const scanRoot = resolveCompassScanRoot(input, context);
|
|
142
|
-
const
|
|
143
|
+
const policy = resolveCompassPolicy(context.workspaceRoot, context.forgeRoot);
|
|
144
|
+
const entries = await createCompassInventoryEntries(
|
|
145
|
+
context.workspaceRoot,
|
|
146
|
+
input,
|
|
147
|
+
scanRoot,
|
|
148
|
+
policy,
|
|
149
|
+
);
|
|
143
150
|
const authored = getAuthoredEntries(entries);
|
|
144
151
|
const ledger = await loadLedger(context.workspaceRoot);
|
|
145
152
|
|
|
@@ -283,7 +290,13 @@ export async function runCompassAuditBaseline(
|
|
|
283
290
|
}>
|
|
284
291
|
> {
|
|
285
292
|
const scanRoot = resolveCompassScanRoot(input, context);
|
|
286
|
-
const
|
|
293
|
+
const policy = resolveCompassPolicy(context.workspaceRoot, context.forgeRoot);
|
|
294
|
+
const entries = await createCompassInventoryEntries(
|
|
295
|
+
context.workspaceRoot,
|
|
296
|
+
input,
|
|
297
|
+
scanRoot,
|
|
298
|
+
policy,
|
|
299
|
+
);
|
|
287
300
|
const authored = getAuthoredEntries(entries);
|
|
288
301
|
const ledger = await loadLedger(context.workspaceRoot);
|
|
289
302
|
|
|
@@ -347,7 +360,13 @@ export async function runCompassAuditValidate(
|
|
|
347
360
|
> {
|
|
348
361
|
const strict = input.flags["strict"] === true;
|
|
349
362
|
const scanRoot = resolveCompassScanRoot(input, context);
|
|
350
|
-
const
|
|
363
|
+
const policy = resolveCompassPolicy(context.workspaceRoot, context.forgeRoot);
|
|
364
|
+
const entries = await createCompassInventoryEntries(
|
|
365
|
+
context.workspaceRoot,
|
|
366
|
+
input,
|
|
367
|
+
scanRoot,
|
|
368
|
+
policy,
|
|
369
|
+
);
|
|
351
370
|
const authored = getAuthoredEntries(entries);
|
|
352
371
|
const ledger = await loadLedger(context.workspaceRoot);
|
|
353
372
|
|