@warpgogol/forge 4.2.4 → 5.1.1
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 +14 -6
- package/CHANGELOG.md +72 -0
- package/README.md +8 -8
- package/README.uk.md +5 -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 +11 -23
- 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 +62 -4
- package/dist/src/config/forge-config.d.ts.map +1 -1
- package/dist/src/config/forge-config.js +35 -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.d.ts.map +1 -1
- package/dist/src/onboarding/agents-generate.js +18 -14
- package/dist/src/onboarding/agents-generate.js.map +1 -1
- 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 +11 -3
- 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/getting-started.md +1 -1
- package/docs/reference/forge-yaml.md +38 -9
- package/docs/reference/profiles.md +8 -8
- 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 +11 -23
- 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/profiles/{godot-csharp.yaml → godot-game.yaml} +2 -2
- package/profiles/{knowledge-typescript-turborepo.yaml → knowledge.yaml} +1 -1
- package/profiles/{phaser-turborepo.yaml → phaser-game.yaml} +2 -2
- package/profiles/{typescript-turborepo.yaml → typescript.yaml} +2 -2
- 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 +40 -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 +23 -14
- 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 +11 -3
- 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-domain.test.ts +3 -3
- package/src/tests/agents-generate.test.ts +2 -2
- package/src/tests/create.test.ts +4 -4
- package/src/tests/forge-autonomy-validate.test.ts +1 -1
- package/src/tests/package-files.test.ts +53 -1
- package/src/tests/profile-schema.test.ts +4 -4
- package/src/tests/scaffold-project.test.ts +3 -3
- package/src/tests/stack-profile.test.ts +12 -12
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compass-inventory-handler.js","sourceRoot":"","sources":["../../../../os/compass/handlers/compass-inventory-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compass-inventory-handler.js","sourceRoot":"","sources":["../../../../os/compass/handlers/compass-inventory-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;EAyBE;AAEF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,6BAA6B,EAC7B,eAAe,EACf,cAAc,EACd,kBAAkB,GAEnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAA4B,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,2CAA2C,CAAC;AAWnD,SAAS,4BAA4B,CAAC,MAAc,EAAE,OAAe;IACnE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,UAAU,iBAAiB,UAAU,GAAG,CAAC,CAAC,CAAC;IACrF,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED,MAAM,qBAAqB,GAAG,4BAA4B,CAAC;AAE3D,SAAS,wBAAwB,CAC/B,QAAgB;IAEhB,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5C,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,WAAW,CAAC;IACjF,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5C,IACE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAExB,OAAO,OAAO,CAAC;IACjB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,QAAgB;IAC1D,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC/D,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAEpC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACnD,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,UAAU,GAAG,MAAM,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;YACrF,OAAO,6EAA6E,CAAC;QACvF,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,OAAO,gEAAgE,CAAC;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,OAAO,wEAAwE,CAAC;gBAClF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACnD,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,UAAU,GAAG,MAAM,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;YACrF,OAAO,0EAA0E,CAAC;QACpF,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAWD,SAAS,kBAAkB,CAAC,OAAgC;IAC1D,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAC9B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YACzC,aAAa,IAAI,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QAED,aAAa,IAAI,CAAC,CAAC;QACnB,IAAI,KAAK,CAAC,mBAAmB,KAAK,UAAU;YAAE,qBAAqB,IAAI,CAAC,CAAC;QAEzE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,cAAc,IAAI,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,iBAAiB,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO;QACL,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,aAAa;QACb,aAAa;QACb,qBAAqB;QACrB,cAAc;QACd,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAgC,EAChC,OAAgC;IAEhC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAC/D,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1B,KAAK,CAAC,IAAI,CAAC,sBAAsB,OAAO,CAAC,YAAY,kBAAkB,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,aAAa,mBAAmB,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,aAAa,mBAAmB,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CACR,gCAAgC,OAAO,CAAC,qBAAqB,4BAA4B,CAC1F,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,cAAc,oBAAoB,CAAC,CAAC;IAC/E,KAAK,CAAC,IAAI,CAAC,4BAA4B,OAAO,CAAC,iBAAiB,wBAAwB,CAAC,CAAC;IAC1F,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CACR,oBAAoB,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,aAAa,qBAAqB,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,uBAAuB,KAAK,CAAC,eAAe,iBAAiB,KAAK,CAAC,SAAS,iBAAiB,KAAK,CAAC,UAAU,2BAA2B,KAAK,CAAC,mBAAmB,gBAAgB,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,CACxa,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,0BAA0B,KAAK,CAAC,iBAAiB,oBAAoB,CAAC,CAAC;QAClF,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;QAC/F,CAAC;QACD,KAAK,CAAC,IAAI,CACR,8BAA8B,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,wBAAwB,CACjG,CAAC;QACF,KAAK,CAAC,IAAI,CACR,6BAA6B,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,uBAAuB,CAC9F,CAAC;QACF,KAAK,CAAC,IAAI,CACR,4BAA4B,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,sBAAsB,CAC3F,CAAC;QACF,KAAK,CAAC,IAAI,CACR,mCAAmC,KAAK,CAAC,qBAAqB,6BAA6B,CAC5F,CAAC;QACF,KAAK,CAAC,IAAI,CACR,iCAAiC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,2BAA2B,CAC1G,CAAC;QACF,KAAK,CAAC,IAAI,CACR,oCAAoC,KAAK,CAAC,sBAAsB,8BAA8B,CAC/F,CAAC;QACF,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,sBAAsB,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC3F,CAAC;QACD,KAAK,CAAC,IAAI,CACR,2BAA2B,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,qBAAqB,CACxF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC;QACtF,KAAK,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC;QAC3F,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACxC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,mBAAmB,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,sBAAsB,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACvE,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAwB,EACxB,OAA4B;IAS5B,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC;IACjF,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,6BAA6B,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE5C,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,+BAA+B,OAAO,CAAC,YAAY,aAAa,OAAO,CAAC,aAAa,aAAa,OAAO,CAAC,aAAa,aAAa,OAAO,CAAC,qBAAqB,EAAE,CACpK,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,wDAAwD,qBAAqB,EAAE,CAChF,CAAC;QACF,OAAO;YACL,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;YAC1F,OAAO,EAAE,iCAAiC,qBAAqB,EAAE;YACjE,SAAS,EAAE;gBACT;oBACE,MAAM,EAAE,4DAA4D;oBACpE,IAAI,EAAE,UAAU;iBACjB;aACF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC;IACzE,MAAM,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAE1C,OAAO;QACL,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;QACnE,OAAO,EAAE,uBAAuB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,IAAI,qBAAqB,EAAE;QACjG,SAAS,EAAE,OAAO,CAAC,MAAM;YACvB,CAAC,CAAC;gBACE;oBACE,MAAM,EAAE,uDAAuD;oBAC/D,IAAI,EAAE,UAAU;iBACjB;aACF;YACH,CAAC,CAAC;gBACE;oBACE,MAAM,EAAE,gEAAgE;oBACxE,IAAI,EAAE,UAAU;iBACjB;aACF;KACN,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAwB,EACxB,OAA4B;IAe5B,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,IAAI,IAA2C,CAAC;IAChD,IAAI,CAAC;QACH,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4CAA4C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,2BAA2B,CACnG,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAC1D,CAAC;IACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,MAAM,6BAA6B,CACjD,OAAO,CAAC,aAAa,EACrB,KAAK,EACL,QAAQ,EACR,MAAM,CACP,CAAC;IACF,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAC7B,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,eAAe,KAAK,UAAU;QACpC,KAAK,CAAC,mBAAmB,KAAK,MAAM;QACpC,CAAC,KAAK,CAAC,SAAS,CACnB,CAAC;IAEF,MAAM,WAAW,GAOZ,EAAE,CAAC;IAER,0EAA0E;IAC1E,sEAAsE;IACtE,mEAAmE;IACnE,+EAA+E;IAC/E,MAAM,yBAAyB,GAAG;QAChC,aAAa;QACb,gBAAgB;QAChB,kBAAkB;QAClB,aAAa;KACd,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CACpC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,KAAK,UAAU,IAAI,KAAK,CAAC,mBAAmB,KAAK,MAAM,CACxF,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1E,KAAK,MAAM,EAAE,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBAC9E,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GAAG,sBAAsB,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;YAC5E,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;gBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;YACD,WAAW,CAAC,IAAI,CAAC;gBACf,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,GAAG,EAAE,EAAE,CAAC,GAAG;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3C,IAAI,MAAM,GAAG,qBAAqB,CAAC;YACnC,IAAI,GAAG,GAAG,iEAAiE,CAAC;YAE5E,IAAI,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC1C,MAAM,GAAG,qBAAqB,CAAC;gBAC/B,GAAG,GAAG,6CAA6C,CAAC;YACtD,CAAC;iBAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3C,MAAM,GAAG,qBAAqB,CAAC;gBAC/B,GAAG,GAAG,yCAAyC,CAAC;YAClD,CAAC;iBAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAChD,MAAM,GAAG,qBAAqB,CAAC;gBAC/B,GAAG,GAAG,oDAAoD,CAAC;YAC7D,CAAC;iBAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC/C,MAAM,GAAG,sBAAsB,CAAC;gBAChC,GAAG,GAAG,gEAAgE,CAAC;YACzE,CAAC;iBAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3C,MAAM,GAAG,sBAAsB,CAAC;gBAChC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;gBACrE,GAAG,GAAG,eAAe,MAAM,iCAAiC,CAAC;YAC/D,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,MAAM,KAAK,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC,CAAC;YACpF,WAAW,CAAC,IAAI,CAAC;gBACf,MAAM;gBACN,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,SAAS;gBAClB,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,CAAC;IAC9C,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAC;IACjE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,eAAe,KAAK,UAAU,IAAI,KAAK,CAAC,mBAAmB,KAAK,MAAM,EAAE,CAAC;YACjF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACxD,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uCAAuC,KAAK,CAAC,IAAI,cAAc,gBAAgB,4BAA4B,CAC5G,CAAC;YACF,WAAW,CAAC,IAAI,CAAC;gBACf,MAAM,EAAE,iBAAiB;gBACzB,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,YAAY,gBAAgB,4BAA4B;gBACjE,GAAG,EAAE,oBAAoB,gBAAgB,6BAA6B;aACvE,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC,CAAC;YAC5F,WAAW,CAAC,IAAI,CAAC;gBACf,MAAM,EAAE,mBAAmB;gBAC3B,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,WAAW;gBACpB,GAAG,EAAE,gFAAgF;aACtF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,GAGR,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACzE,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;IAChE,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,eAAe,KAAK,UAAU,IAAI,KAAK,CAAC,mBAAmB,KAAK,MAAM,EAAE,CAAC;gBACjF,SAAS;YACX,CAAC;YAED,MAAM,eAAe,GAAG,uBAAuB,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAE3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAE/C,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;gBACnC,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC;gBACzE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yCAAyC,KAAK,CAAC,IAAI,aAAa,IAAI,CAAC,OAAO,4BAA4B,IAAI,CAAC,MAAM,GAAG,CACvH,CAAC;oBACF,WAAW,CAAC,IAAI,CAAC;wBACf,MAAM,EAAE,mBAAmB;wBAC3B,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,OAAO,EAAE,WAAW,IAAI,CAAC,OAAO,4BAA4B,IAAI,CAAC,MAAM,GAAG;wBAC1E,GAAG,EAAE,cAAc,WAAW,qBAAqB;wBACnD,IAAI,EAAE,IAAI,CAAC,MAAM;qBAClB,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtD,MAAM,YAAY,GAAG,4BAA4B,CAC/C,MAAM,EACN,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAC9C,CAAC;oBACF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACpC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC;wBAClC,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;4BACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yCAAyC,KAAK,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,YAAY,IAAI,CAAC,OAAO,4BAA4B,IAAI,CAAC,MAAM,GAAG,CAC5I,CAAC;4BACF,WAAW,CAAC,IAAI,CAAC;gCACf,MAAM,EAAE,mBAAmB;gCAC3B,QAAQ,EAAE,OAAO;gCACjB,IAAI,EAAE,KAAK,CAAC,IAAI;gCAChB,OAAO,EAAE,YAAY,GAAG,CAAC,IAAI,YAAY,IAAI,CAAC,OAAO,4BAA4B,IAAI,CAAC,MAAM,GAAG;gCAC/F,GAAG,EAAE,eAAe,GAAG,CAAC,IAAI,oBAAoB,WAAW,QAAQ;gCACnE,IAAI,EAAE,IAAI,CAAC,MAAM;6BAClB,CAAC,CAAC;4BACH,SAAS;wBACX,CAAC;wBAED,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;4BACjB,MAAM,UAAU,GAAG,4BAA4B,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;4BACxE,IAAI,UAAU,EAAE,CAAC;gCACf,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gCACjD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;gCAClE,IAAI,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;oCAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yCAAyC,KAAK,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,QAAQ,IAAI,CAAC,OAAO,QAAQ,SAAS,mBAAmB,GAAG,CAAC,QAAQ,sBAAsB,IAAI,CAAC,MAAM,GAAG,CAC1K,CAAC;oCACF,WAAW,CAAC,IAAI,CAAC;wCACf,MAAM,EAAE,mBAAmB;wCAC3B,QAAQ,EAAE,OAAO;wCACjB,IAAI,EAAE,KAAK,CAAC,IAAI;wCAChB,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,QAAQ,IAAI,CAAC,OAAO,QAAQ,SAAS,mBAAmB,GAAG,CAAC,QAAQ,sBAAsB,IAAI,CAAC,MAAM,GAAG;wCAC7H,GAAG,EAAE,uBAAuB,GAAG,CAAC,QAAQ,kBAAkB,GAAG,CAAC,IAAI,OAAO;wCACzE,IAAI,EAAE,IAAI,CAAC,MAAM;qCAClB,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IAClE,MAAM,YAAY,GAChB,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IAEhF,OAAO;QACL,IAAI,EAAE;YACJ,YAAY,EAAE,OAAO,CAAC,aAAa;YACnC,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,OAAO;YACP,WAAW;SACZ;QACD,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,EAAE,SAAS;YAChB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,0BAA0B,OAAO,CAAC,aAAa,0BAA0B,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG;KACxI,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ForgeCommandInput } from "../../../src/types.ts";
|
|
2
|
-
|
|
2
|
+
import { type CompassPolicy, type CompassRiskClass, type CompassWorkspaceKind } from "../policy.ts";
|
|
3
3
|
export type CompassValidationMode = "warning" | "error";
|
|
4
4
|
export interface CompassV2Diagnostic {
|
|
5
5
|
ruleId: string;
|
|
@@ -7,8 +7,6 @@ export interface CompassV2Diagnostic {
|
|
|
7
7
|
fix: string;
|
|
8
8
|
}
|
|
9
9
|
export declare function resolveCompassMode(input: ForgeCommandInput): CompassValidationMode;
|
|
10
|
-
type CompassWorkspaceKind = "app" | "package" | "service";
|
|
11
|
-
type CompassRiskClass = "high" | "medium" | "low";
|
|
12
10
|
type CompassComplexity = "non-trivial" | "trivial";
|
|
13
11
|
type CompassScaffoldingMode = "standard" | "none";
|
|
14
12
|
type CompassAuthoringStatus = "authored" | "excluded";
|
|
@@ -38,10 +36,14 @@ export interface CompassInventoryEntry {
|
|
|
38
36
|
compliant: boolean;
|
|
39
37
|
violations: string[];
|
|
40
38
|
}
|
|
39
|
+
export declare function getRelativeSegments(filePath: string, workspaceRoot: string): string[];
|
|
40
|
+
export declare function getWorkspaceRelativeSegments(segments: string[], policy: CompassPolicy): string[];
|
|
41
|
+
export declare function detectLayer(relativePath: string, policy: CompassPolicy): string;
|
|
42
|
+
export declare function detectRiskClass(pathFromRoot: string, workspaceRelativePath: string, policy: CompassPolicy): CompassRiskClass;
|
|
41
43
|
export declare function deriveFileTokens(pathFromRoot: string, source: string): Set<string>;
|
|
42
|
-
export declare function evaluateV2Rules(entry: Pick<CompassInventoryEntry, "path" | "keyDecisionsRequired">, source: string): CompassV2Diagnostic[];
|
|
44
|
+
export declare function evaluateV2Rules(entry: Pick<CompassInventoryEntry, "path" | "keyDecisionsRequired">, source: string, policy: CompassPolicy): CompassV2Diagnostic[];
|
|
43
45
|
/** Returns the source text captured during `createCompassInventoryEntries`, if still cached. */
|
|
44
46
|
export declare function getEntrySource(entry: CompassInventoryEntry): string | undefined;
|
|
45
|
-
export declare function createCompassInventoryEntries(workspaceRoot: string, input: ForgeCommandInput, scanRoot?: string): Promise<CompassInventoryEntry[]>;
|
|
47
|
+
export declare function createCompassInventoryEntries(workspaceRoot: string, input: ForgeCommandInput, scanRoot?: string, policy?: CompassPolicy): Promise<CompassInventoryEntry[]>;
|
|
46
48
|
export {};
|
|
47
49
|
//# sourceMappingURL=compass-inventory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compass-inventory.d.ts","sourceRoot":"","sources":["../../../../os/compass/handlers/compass-inventory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compass-inventory.d.ts","sourceRoot":"","sources":["../../../../os/compass/handlers/compass-inventory.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AAoCtB,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,qBAAqB,CAKlF;AAED,KAAK,iBAAiB,GAAG,aAAa,GAAG,SAAS,CAAC;AACnD,KAAK,sBAAsB,GAAG,UAAU,GAAG,MAAM,CAAC;AAClD,KAAK,sBAAsB,GAAG,UAAU,GAAG,UAAU,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,oBAAoB,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,sBAAsB,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,mBAAmB,EAAE,sBAAsB,CAAC;IAC5C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AA6ED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAErF;AAoBD,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAKhG;AAED,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,CAE/E;AAED,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,qBAAqB,EAAE,MAAM,EAC7B,MAAM,EAAE,aAAa,GACpB,gBAAgB,CAKlB;AA2OD,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CA4BlF;AAuBD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,sBAAsB,CAAC,EACnE,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,GACpB,mBAAmB,EAAE,CAwHvB;AA0CD,gGAAgG;AAChG,wBAAgB,cAAc,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAE/E;AAED,wBAAsB,6BAA6B,CACjD,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,iBAAiB,EACxB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAmElC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
<MODULE_CONTRACT>
|
|
3
|
-
<purpose>Canonical Compass inventory scanning logic. Moved from
|
|
4
|
-
to @warpgogol/forge for full autonomous mode (RFC-0556). Provides file collection,
|
|
3
|
+
<purpose>Canonical Compass inventory scanning logic. Moved from the legacy site
|
|
4
|
+
kernel package to @warpgogol/forge for full autonomous mode (RFC-0556). Provides file collection,
|
|
5
5
|
workspace detection, layer classification, risk assessment, and compliance checking
|
|
6
6
|
for Compass source-file inventory.</purpose>
|
|
7
7
|
<non-goals>
|
|
@@ -9,79 +9,28 @@ for Compass source-file inventory.</purpose>
|
|
|
9
9
|
<item>Do not register commands — this is a pure utility module.</item>
|
|
10
10
|
</non-goals>
|
|
11
11
|
</MODULE_CONTRACT>
|
|
12
|
+
<KEY_DECISIONS>
|
|
13
|
+
<item>Authoring status is classified before compliance — generated, test, and excluded files never reach rule evaluation.</item>
|
|
14
|
+
<item>Risk class derives from layer rules plus high-risk globs — KEY_DECISIONS is required only on medium and high.</item>
|
|
15
|
+
<item>Policy literals come from resolveCompassPolicy — no stack- or consumer-specific values live in this module.</item>
|
|
16
|
+
</KEY_DECISIONS>
|
|
12
17
|
<CHANGE_SUMMARY>
|
|
13
|
-
<item>RFC-0348: collapsed to two-block contract (MODULE_CONTRACT + CHANGE_SUMMARY); removed MODULE_MAP, keywords, responsibilities, COMPASS_BLOCK anchors; coverage modes collapsed to standard/none.</item>
|
|
14
|
-
<item>Post-refactor hardening: exclude src/templates generation inputs from authored Compass requirements.</item>
|
|
15
|
-
<item>Post-refactor hardening: detect nested packages/os workspaces before deriving Compass layer and workspace name.</item>
|
|
16
|
-
<item>RFC-0556: moved canonical implementation from @warpgogol/site-kernel to @warpgogol/forge for autonomous mode.</item>
|
|
17
|
-
<item>Game extensions: added .cs, .tscn, .tres, .gd to SOURCE_EXTENSIONS; createCompassInventoryEntries now reads forge.yaml compass.fileExtensions at runtime and merges with hardcoded set.</item>
|
|
18
|
-
<item>Added .md to SOURCE_EXTENSIONS for SKILL.md Compass coverage; detectAuthoringStatus excludes non-SKILL.md markdown files.</item>
|
|
19
18
|
<item>RFC-1094: v2 contract — KEY_DECISIONS/history parsing, new inventory fields, evaluateV2Rules, deriveFileTokens, resolveCompassMode, shared GOVERNANCE_ID_RE.</item>
|
|
19
|
+
<item>RFC-1095: compass.summary.record, trim repair rewrite, commit integration</item>
|
|
20
|
+
<item>RFC-1096: all policy literals externalized to resolveCompassPolicy — scan roots, extensions, ignored dirs/paths, layer/risk rules, governance-ID and boilerplate patterns come from generic defaults + profile + bindings.compass.</item>
|
|
21
|
+
<item>RFC-1097: sweep — SKILL.md headers + classification fixes
|
|
22
|
+
|
|
23
|
+
Sweep batch 1: add Compass v2 headers to 45 SKILL.md files (purpose derived from frontmatter description). Fix non-skill-markdown exclusion to check filename not workspace-relative path (packages/AGENTS.md escaped it). Add .coverage to ignoredDirs.</item>
|
|
24
|
+
<item>RFC-1097: sweep — packages/forge + services clean
|
|
25
|
+
|
|
26
|
+
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>
|
|
27
|
+
<history>RFC-0348, RFC-0556</history>
|
|
20
28
|
</CHANGE_SUMMARY>
|
|
21
29
|
*/
|
|
22
30
|
import { readdir, readFile } from "node:fs/promises";
|
|
23
|
-
import { readFileSync, existsSync } from "node:fs";
|
|
24
31
|
import { join, relative, resolve } from "node:path";
|
|
25
|
-
import { parse as parseYaml } from "yaml";
|
|
26
32
|
import { hasGeneratedMarker } from "../../../src/utils/generated-marker.js";
|
|
27
|
-
|
|
28
|
-
const forgeYamlPath = join(workspaceRoot, "forge.yaml");
|
|
29
|
-
if (!existsSync(forgeYamlPath)) {
|
|
30
|
-
return new Set();
|
|
31
|
-
}
|
|
32
|
-
try {
|
|
33
|
-
const raw = readFileSync(forgeYamlPath, "utf8");
|
|
34
|
-
const parsed = parseYaml(raw);
|
|
35
|
-
const bindings = parsed?.bindings;
|
|
36
|
-
const compass = bindings?.compass;
|
|
37
|
-
const extensions = compass?.fileExtensions;
|
|
38
|
-
if (Array.isArray(extensions)) {
|
|
39
|
-
return new Set(extensions.filter((e) => typeof e === "string"));
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
// forge.yaml not parseable or missing compass section — fall back to hardcoded set
|
|
44
|
-
}
|
|
45
|
-
return new Set();
|
|
46
|
-
}
|
|
47
|
-
const SOURCE_EXTENSIONS = new Set([
|
|
48
|
-
".ts",
|
|
49
|
-
".tsx",
|
|
50
|
-
".astro",
|
|
51
|
-
".js",
|
|
52
|
-
".jsx",
|
|
53
|
-
".mjs",
|
|
54
|
-
".mts",
|
|
55
|
-
".css",
|
|
56
|
-
".cs",
|
|
57
|
-
".tscn",
|
|
58
|
-
".tres",
|
|
59
|
-
".gd",
|
|
60
|
-
".md",
|
|
61
|
-
]);
|
|
62
|
-
const IGNORED_DIRECTORY_NAMES = new Set([
|
|
63
|
-
".git",
|
|
64
|
-
".turbo",
|
|
65
|
-
".astro",
|
|
66
|
-
".wrangler",
|
|
67
|
-
".vscode",
|
|
68
|
-
".cache",
|
|
69
|
-
"coverage",
|
|
70
|
-
"dist",
|
|
71
|
-
"node_modules",
|
|
72
|
-
"spec",
|
|
73
|
-
"todo",
|
|
74
|
-
]);
|
|
75
|
-
const DEFAULT_SCAN_ROOTS = ["apps", "packages", "services"];
|
|
76
|
-
const HIGH_RISK_EXACT_RELATIVE_PATHS = new Set([
|
|
77
|
-
"apps/main/src/content/config.ts",
|
|
78
|
-
"apps/main/src/middleware.ts",
|
|
79
|
-
"packages/os/site-kernel/src/cli/index.ts",
|
|
80
|
-
"packages/os/site-kernel/src/discovery.ts",
|
|
81
|
-
"packages/os/site-kernel/src/registry.ts",
|
|
82
|
-
"packages/os/site-kernel/src/runtime.ts",
|
|
83
|
-
"packages/os/site-kernel/src/types.ts",
|
|
84
|
-
]);
|
|
33
|
+
import { parseGovernanceIdParts, resolveCompassPolicy, } from "../policy.js";
|
|
85
34
|
function forbiddenMarkerPattern(tagName) {
|
|
86
35
|
return new RegExp(`<${tagName}\\b`);
|
|
87
36
|
}
|
|
@@ -91,12 +40,7 @@ const FORBIDDEN_PATTERNS = [
|
|
|
91
40
|
{ name: "responsibilities", regex: forbiddenMarkerPattern("responsibilities") },
|
|
92
41
|
{ name: "COMPASS_BLOCK", regex: new RegExp(`</?${"COMPASS_BLOCK"}\\b`) },
|
|
93
42
|
];
|
|
94
|
-
// RFC-
|
|
95
|
-
// governance-ID pattern shared with the change-summary handler.
|
|
96
|
-
export const GOVERNANCE_ID_RE = /\b([A-Z][A-Z0-9]*-)+\d+\b/;
|
|
97
|
-
const GOVERNANCE_ID_PREFIX_RE = /^([A-Z][A-Z0-9]*-)+\d+\b/;
|
|
98
|
-
const HISTORY_ID_RE = /^([A-Z][A-Z0-9]*-)+\d+$/;
|
|
99
|
-
const HISTORY_ID_PARTS_RE = /^(([A-Z][A-Z0-9]*-)+)(\d+)$/;
|
|
43
|
+
// RFC-1096: governance-ID regexes are policy-derived (policy.idPattern*).
|
|
100
44
|
const TODO_PLACEHOLDER_RE = /^TODO\b/i;
|
|
101
45
|
const GENERIC_STEMS = new Set([
|
|
102
46
|
"index",
|
|
@@ -112,11 +56,6 @@ const GENERIC_STEMS = new Set([
|
|
|
112
56
|
]);
|
|
113
57
|
const SYMBOL_EXTENSIONS = new Set([".ts", ".tsx", ".js", ".jsx", ".mjs", ".mts"]);
|
|
114
58
|
const EXPORTED_SYMBOL_RE = /export\s+(?:async\s+)?(?:function|const|let|class|interface|type|enum)\s+(\w+)/g;
|
|
115
|
-
const PURPOSE_BOILERPLATE_PATTERNS = [
|
|
116
|
-
/^(this file|the file|a file|this module|a module)\b/i,
|
|
117
|
-
/^(utility|utilities|helper|helpers|misc)\b/i,
|
|
118
|
-
/^(todo|placeholder|fixme)\b/i,
|
|
119
|
-
];
|
|
120
59
|
const KEY_DECISIONS_MAX_ITEMS = 7;
|
|
121
60
|
const KEY_DECISIONS_MAX_WORDS = 20;
|
|
122
61
|
const CHANGE_SUMMARY_MAX_ITEMS = 5;
|
|
@@ -135,39 +74,26 @@ function getFlagValues(input, key) {
|
|
|
135
74
|
}
|
|
136
75
|
return typeof value === "string" ? [value] : [];
|
|
137
76
|
}
|
|
138
|
-
function resolveScanRoots(workspaceRoot, input) {
|
|
77
|
+
function resolveScanRoots(workspaceRoot, input, policy) {
|
|
139
78
|
const values = getFlagValues(input, "root");
|
|
140
|
-
const roots = values.length > 0 ? values :
|
|
79
|
+
const roots = values.length > 0 ? values : policy.scanRoots;
|
|
141
80
|
return roots.map((value) => resolve(workspaceRoot, value));
|
|
142
81
|
}
|
|
143
|
-
function shouldIgnoreDirectory(name) {
|
|
144
|
-
if (
|
|
82
|
+
function shouldIgnoreDirectory(name, policy) {
|
|
83
|
+
if (policy.ignoredDirs.has(name)) {
|
|
145
84
|
return true;
|
|
146
85
|
}
|
|
147
|
-
|
|
148
|
-
return true;
|
|
149
|
-
}
|
|
150
|
-
if (name.startsWith("-")) {
|
|
151
|
-
return true;
|
|
152
|
-
}
|
|
153
|
-
return false;
|
|
86
|
+
return policy.ignoredDirPrefixes.some((prefix) => name.startsWith(prefix));
|
|
154
87
|
}
|
|
155
|
-
function hasRelevantExtension(filePath,
|
|
156
|
-
for (const extension of
|
|
88
|
+
function hasRelevantExtension(filePath, policy) {
|
|
89
|
+
for (const extension of policy.fileExtensions) {
|
|
157
90
|
if (filePath.endsWith(extension)) {
|
|
158
91
|
return true;
|
|
159
92
|
}
|
|
160
93
|
}
|
|
161
|
-
if (extraExtensions) {
|
|
162
|
-
for (const extension of extraExtensions) {
|
|
163
|
-
if (filePath.endsWith(extension)) {
|
|
164
|
-
return true;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
94
|
return false;
|
|
169
95
|
}
|
|
170
|
-
async function collectSourceFiles(targetPath,
|
|
96
|
+
async function collectSourceFiles(targetPath, policy) {
|
|
171
97
|
let stat;
|
|
172
98
|
try {
|
|
173
99
|
const { stat: fsStat } = await import("node:fs/promises");
|
|
@@ -177,7 +103,7 @@ async function collectSourceFiles(targetPath, extraExtensions) {
|
|
|
177
103
|
return [];
|
|
178
104
|
}
|
|
179
105
|
if (stat.isFile()) {
|
|
180
|
-
return hasRelevantExtension(targetPath,
|
|
106
|
+
return hasRelevantExtension(targetPath, policy) ? [targetPath] : [];
|
|
181
107
|
}
|
|
182
108
|
let entries;
|
|
183
109
|
try {
|
|
@@ -190,107 +116,50 @@ async function collectSourceFiles(targetPath, extraExtensions) {
|
|
|
190
116
|
for (const entry of entries) {
|
|
191
117
|
const absolutePath = join(targetPath, entry.name);
|
|
192
118
|
if (entry.isDirectory()) {
|
|
193
|
-
if (shouldIgnoreDirectory(entry.name)) {
|
|
119
|
+
if (shouldIgnoreDirectory(entry.name, policy)) {
|
|
194
120
|
continue;
|
|
195
121
|
}
|
|
196
|
-
|
|
197
|
-
if (normalizedPath.endsWith("/src/assets") ||
|
|
198
|
-
normalizedPath.endsWith("/src/icons/gen") ||
|
|
199
|
-
normalizedPath.includes("/public/_video") ||
|
|
200
|
-
normalizedPath.includes("/public/_img")) {
|
|
201
|
-
continue;
|
|
202
|
-
}
|
|
203
|
-
files.push(...(await collectSourceFiles(absolutePath, extraExtensions)));
|
|
122
|
+
files.push(...(await collectSourceFiles(absolutePath, policy)));
|
|
204
123
|
continue;
|
|
205
124
|
}
|
|
206
|
-
if (entry.isFile() && hasRelevantExtension(absolutePath,
|
|
125
|
+
if (entry.isFile() && hasRelevantExtension(absolutePath, policy)) {
|
|
207
126
|
files.push(absolutePath);
|
|
208
127
|
}
|
|
209
128
|
}
|
|
210
129
|
return files;
|
|
211
130
|
}
|
|
212
|
-
function getRelativeSegments(filePath, workspaceRoot) {
|
|
131
|
+
export function getRelativeSegments(filePath, workspaceRoot) {
|
|
213
132
|
return relative(workspaceRoot, filePath).replace(/\\/g, "/").split("/").filter(Boolean);
|
|
214
133
|
}
|
|
215
|
-
function
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
134
|
+
function isWorkspaceDir(segment, policy) {
|
|
135
|
+
return segment !== undefined && segment in policy.workspaceKinds;
|
|
136
|
+
}
|
|
137
|
+
function detectWorkspaceKind(segments, policy) {
|
|
138
|
+
const first = segments[0];
|
|
139
|
+
return (first !== undefined && policy.workspaceKinds[first]) || "app";
|
|
219
140
|
}
|
|
220
|
-
function detectWorkspaceName(segments) {
|
|
221
|
-
if (segments[0]
|
|
222
|
-
return segments[
|
|
141
|
+
function detectWorkspaceName(segments, policy) {
|
|
142
|
+
if (isWorkspaceDir(segments[0], policy)) {
|
|
143
|
+
return segments[1] ?? "unknown";
|
|
223
144
|
}
|
|
224
|
-
|
|
145
|
+
// Files outside any workspace dir (e.g. tools/*) report "root" rather than
|
|
146
|
+
// leaking a filename into the workspace-name slot.
|
|
147
|
+
return "root";
|
|
225
148
|
}
|
|
226
|
-
function getWorkspaceRelativeSegments(segments) {
|
|
227
|
-
if (segments[0]
|
|
228
|
-
return segments.slice(
|
|
149
|
+
export function getWorkspaceRelativeSegments(segments, policy) {
|
|
150
|
+
if (isWorkspaceDir(segments[0], policy)) {
|
|
151
|
+
return segments.slice(2);
|
|
229
152
|
}
|
|
230
|
-
return segments
|
|
153
|
+
return segments;
|
|
231
154
|
}
|
|
232
|
-
function detectLayer(relativePath) {
|
|
233
|
-
|
|
234
|
-
return "bin";
|
|
235
|
-
if (relativePath === "tools/kernel.config.ts")
|
|
236
|
-
return "tool-config";
|
|
237
|
-
if (relativePath.startsWith("tools/modules/"))
|
|
238
|
-
return "tool-module";
|
|
239
|
-
if (relativePath.startsWith("tools/runtime/"))
|
|
240
|
-
return "tool-runtime";
|
|
241
|
-
if (relativePath.startsWith("src/middleware/"))
|
|
242
|
-
return "middleware";
|
|
243
|
-
if (relativePath === "src/middleware.ts")
|
|
244
|
-
return "middleware";
|
|
245
|
-
if (relativePath.startsWith("src/pages/"))
|
|
246
|
-
return "page";
|
|
247
|
-
if (relativePath.startsWith("src/components/"))
|
|
248
|
-
return "component";
|
|
249
|
-
if (relativePath.startsWith("src/content/schemas/"))
|
|
250
|
-
return "schema";
|
|
251
|
-
if (relativePath.startsWith("src/content/"))
|
|
252
|
-
return "content";
|
|
253
|
-
if (relativePath.startsWith("src/styles/"))
|
|
254
|
-
return "style";
|
|
255
|
-
if (relativePath.startsWith("src/scripts/"))
|
|
256
|
-
return "script";
|
|
257
|
-
if (relativePath.startsWith("src/layouts/"))
|
|
258
|
-
return "layout";
|
|
259
|
-
if (relativePath.startsWith("src/utils/"))
|
|
260
|
-
return "utility";
|
|
261
|
-
if (relativePath.startsWith("src/configure/"))
|
|
262
|
-
return "config";
|
|
263
|
-
if (relativePath.startsWith("test/") ||
|
|
264
|
-
relativePath.startsWith("src/tests/") ||
|
|
265
|
-
relativePath.endsWith(".test.ts") ||
|
|
266
|
-
relativePath.endsWith(".spec.ts"))
|
|
267
|
-
return "test";
|
|
268
|
-
if (relativePath.startsWith("src/"))
|
|
269
|
-
return "source";
|
|
270
|
-
if (relativePath.endsWith("SKILL.md"))
|
|
271
|
-
return "skill";
|
|
272
|
-
return "other";
|
|
155
|
+
export function detectLayer(relativePath, policy) {
|
|
156
|
+
return policy.matchLayer(relativePath)?.layer ?? "other";
|
|
273
157
|
}
|
|
274
|
-
function detectRiskClass(pathFromRoot,
|
|
275
|
-
if (
|
|
158
|
+
export function detectRiskClass(pathFromRoot, workspaceRelativePath, policy) {
|
|
159
|
+
if (policy.isHighRisk(pathFromRoot)) {
|
|
276
160
|
return "high";
|
|
277
161
|
}
|
|
278
|
-
|
|
279
|
-
return "high";
|
|
280
|
-
}
|
|
281
|
-
if (pathFromRoot.includes("/src/layouts/")) {
|
|
282
|
-
return "high";
|
|
283
|
-
}
|
|
284
|
-
if (pathFromRoot.includes("/src/middleware/")) {
|
|
285
|
-
return "high";
|
|
286
|
-
}
|
|
287
|
-
if (layer === "tool-runtime" || layer === "tool-config" || layer === "schema") {
|
|
288
|
-
return "medium";
|
|
289
|
-
}
|
|
290
|
-
if (layer === "page" || layer === "component" || layer === "utility" || layer === "script") {
|
|
291
|
-
return "medium";
|
|
292
|
-
}
|
|
293
|
-
return "low";
|
|
162
|
+
return policy.matchLayer(workspaceRelativePath)?.risk ?? "low";
|
|
294
163
|
}
|
|
295
164
|
function detectComplexity(source) {
|
|
296
165
|
const nonEmptyLineCount = source.split(/\r?\n/).filter((line) => line.trim().length > 0).length;
|
|
@@ -299,36 +168,18 @@ function detectComplexity(source) {
|
|
|
299
168
|
}
|
|
300
169
|
return "non-trivial";
|
|
301
170
|
}
|
|
302
|
-
function
|
|
303
|
-
return (segments.length >= 4 &&
|
|
304
|
-
segments[0] === "apps" &&
|
|
305
|
-
segments[2] === "src" &&
|
|
306
|
-
segments[3] === "components" &&
|
|
307
|
-
segments[4] === "logo");
|
|
308
|
-
}
|
|
309
|
-
function detectAuthoringStatus(segments, relativePath, source) {
|
|
171
|
+
function detectAuthoringStatus(segments, relativePath, source, policy) {
|
|
310
172
|
if (hasGeneratedMarker(source)) {
|
|
311
173
|
return {
|
|
312
174
|
authoringStatus: "excluded",
|
|
313
175
|
exclusionReason: "generated-marker",
|
|
314
176
|
};
|
|
315
177
|
}
|
|
316
|
-
|
|
178
|
+
const policyExclusion = policy.excludedReason(relativePath);
|
|
179
|
+
if (policyExclusion !== undefined) {
|
|
317
180
|
return {
|
|
318
181
|
authoringStatus: "excluded",
|
|
319
|
-
exclusionReason:
|
|
320
|
-
};
|
|
321
|
-
}
|
|
322
|
-
if (relativePath.startsWith("src/assets/")) {
|
|
323
|
-
return {
|
|
324
|
-
authoringStatus: "excluded",
|
|
325
|
-
exclusionReason: "assets-directory",
|
|
326
|
-
};
|
|
327
|
-
}
|
|
328
|
-
if (isSimpleSvgLogoComponent(segments)) {
|
|
329
|
-
return {
|
|
330
|
-
authoringStatus: "excluded",
|
|
331
|
-
exclusionReason: "svg-component",
|
|
182
|
+
exclusionReason: policyExclusion,
|
|
332
183
|
};
|
|
333
184
|
}
|
|
334
185
|
if (relativePath.startsWith("dist/")) {
|
|
@@ -343,17 +194,7 @@ function detectAuthoringStatus(segments, relativePath, source) {
|
|
|
343
194
|
exclusionReason: "generated-file",
|
|
344
195
|
};
|
|
345
196
|
}
|
|
346
|
-
if (
|
|
347
|
-
return {
|
|
348
|
-
authoringStatus: "excluded",
|
|
349
|
-
exclusionReason: "template-source",
|
|
350
|
-
};
|
|
351
|
-
}
|
|
352
|
-
if (relativePath.startsWith("test/") ||
|
|
353
|
-
relativePath.endsWith(".test.ts") ||
|
|
354
|
-
relativePath.endsWith(".test.js") ||
|
|
355
|
-
relativePath.endsWith(".spec.ts") ||
|
|
356
|
-
relativePath.endsWith(".spec.js")) {
|
|
197
|
+
if (policy.isTestPath(relativePath)) {
|
|
357
198
|
return {
|
|
358
199
|
authoringStatus: "excluded",
|
|
359
200
|
exclusionReason: "test-file",
|
|
@@ -365,7 +206,11 @@ function detectAuthoringStatus(segments, relativePath, source) {
|
|
|
365
206
|
exclusionReason: "bin-entrypoint",
|
|
366
207
|
};
|
|
367
208
|
}
|
|
368
|
-
|
|
209
|
+
// Check the filename, not the workspace-relative path: files directly under
|
|
210
|
+
// a workspace dir (packages/AGENTS.md) get an empty workspace-relative path
|
|
211
|
+
// and would otherwise escape the markdown exclusion.
|
|
212
|
+
const fileName = segments[segments.length - 1] ?? relativePath;
|
|
213
|
+
if (fileName.endsWith(".md") && !fileName.endsWith("SKILL.md")) {
|
|
369
214
|
return {
|
|
370
215
|
authoringStatus: "excluded",
|
|
371
216
|
exclusionReason: "non-skill-markdown",
|
|
@@ -507,9 +352,9 @@ export function deriveFileTokens(pathFromRoot, source) {
|
|
|
507
352
|
}
|
|
508
353
|
return tokens;
|
|
509
354
|
}
|
|
510
|
-
function validateHistoryIds(historyIds) {
|
|
355
|
+
function validateHistoryIds(historyIds, policy) {
|
|
511
356
|
for (const token of historyIds) {
|
|
512
|
-
if (!
|
|
357
|
+
if (!policy.idPatternFull.test(token)) {
|
|
513
358
|
return `<history> contains a non-ID token: "${token}"`;
|
|
514
359
|
}
|
|
515
360
|
}
|
|
@@ -518,18 +363,16 @@ function validateHistoryIds(historyIds) {
|
|
|
518
363
|
}
|
|
519
364
|
const lastSeenByNamespace = new Map();
|
|
520
365
|
for (const token of historyIds) {
|
|
521
|
-
const parts = token
|
|
522
|
-
const
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
if (last !== undefined && numeric <= last) {
|
|
526
|
-
return `<history> IDs are not in per-namespace ascending numeric order (${token} after ${namespace}-${last})`;
|
|
366
|
+
const parts = parseGovernanceIdParts(token);
|
|
367
|
+
const last = lastSeenByNamespace.get(parts.namespace);
|
|
368
|
+
if (last !== undefined && parts.numeric <= last) {
|
|
369
|
+
return `<history> IDs are not in per-namespace ascending numeric order (${token} after ${parts.namespace}-${last})`;
|
|
527
370
|
}
|
|
528
|
-
lastSeenByNamespace.set(namespace, numeric);
|
|
371
|
+
lastSeenByNamespace.set(parts.namespace, parts.numeric);
|
|
529
372
|
}
|
|
530
373
|
return null;
|
|
531
374
|
}
|
|
532
|
-
export function evaluateV2Rules(entry, source) {
|
|
375
|
+
export function evaluateV2Rules(entry, source, policy) {
|
|
533
376
|
const parse = parseCompassBlocks(source);
|
|
534
377
|
const diagnostics = [];
|
|
535
378
|
const orderedPositions = [
|
|
@@ -573,7 +416,7 @@ export function evaluateV2Rules(entry, source) {
|
|
|
573
416
|
fix: "fix: compress the item to a single decision statement",
|
|
574
417
|
});
|
|
575
418
|
}
|
|
576
|
-
if (
|
|
419
|
+
if (policy.idPatternPrefix.test(item)) {
|
|
577
420
|
diagnostics.push({
|
|
578
421
|
ruleId: "COMPASS-KD-05",
|
|
579
422
|
message: "KEY_DECISIONS item starts with a governance-ID prefix — history belongs in CHANGE_SUMMARY",
|
|
@@ -590,7 +433,7 @@ export function evaluateV2Rules(entry, source) {
|
|
|
590
433
|
}
|
|
591
434
|
}
|
|
592
435
|
if (parse.purposeText.length > 0) {
|
|
593
|
-
if (
|
|
436
|
+
if (policy.purposeBoilerplatePatterns.some((pattern) => pattern.test(parse.purposeText))) {
|
|
594
437
|
diagnostics.push({
|
|
595
438
|
ruleId: "COMPASS-PURPOSE-01",
|
|
596
439
|
message: "<purpose> matches a boilerplate pattern",
|
|
@@ -620,7 +463,7 @@ export function evaluateV2Rules(entry, source) {
|
|
|
620
463
|
});
|
|
621
464
|
}
|
|
622
465
|
for (const item of parse.changeSummaryItems) {
|
|
623
|
-
if (!
|
|
466
|
+
if (!policy.idPattern.test(item)) {
|
|
624
467
|
diagnostics.push({
|
|
625
468
|
ruleId: "COMPASS-CS-06",
|
|
626
469
|
message: `CHANGE_SUMMARY item lacks a governance-ID reference: "${item.slice(0, 60)}"`,
|
|
@@ -629,7 +472,7 @@ export function evaluateV2Rules(entry, source) {
|
|
|
629
472
|
}
|
|
630
473
|
}
|
|
631
474
|
if (parse.historyRaw !== null) {
|
|
632
|
-
const historyError = validateHistoryIds(parse.historyIds);
|
|
475
|
+
const historyError = validateHistoryIds(parse.historyIds, policy);
|
|
633
476
|
if (historyError) {
|
|
634
477
|
diagnostics.push({
|
|
635
478
|
ruleId: "COMPASS-CS-07",
|
|
@@ -679,20 +522,20 @@ const entrySources = new WeakMap();
|
|
|
679
522
|
export function getEntrySource(entry) {
|
|
680
523
|
return entrySources.get(entry);
|
|
681
524
|
}
|
|
682
|
-
export async function createCompassInventoryEntries(workspaceRoot, input, scanRoot) {
|
|
683
|
-
const
|
|
684
|
-
const
|
|
685
|
-
const files = (await Promise.all(roots.map((root) => collectSourceFiles(root,
|
|
525
|
+
export async function createCompassInventoryEntries(workspaceRoot, input, scanRoot, policy) {
|
|
526
|
+
const resolvedPolicy = policy ?? resolveCompassPolicy(workspaceRoot);
|
|
527
|
+
const roots = scanRoot ? [scanRoot] : resolveScanRoots(workspaceRoot, input, resolvedPolicy);
|
|
528
|
+
const files = (await Promise.all(roots.map((root) => collectSourceFiles(root, resolvedPolicy)))).flat();
|
|
686
529
|
const entries = [];
|
|
687
530
|
for (const filePath of files.sort()) {
|
|
688
531
|
const source = await readFile(filePath, "utf8");
|
|
689
532
|
const pathFromRoot = relative(workspaceRoot, filePath).replace(/\\/g, "/");
|
|
690
533
|
const segments = getRelativeSegments(filePath, workspaceRoot);
|
|
691
|
-
const relativePathWithinWorkspace = getWorkspaceRelativeSegments(segments).join("/");
|
|
692
|
-
const layer = detectLayer(relativePathWithinWorkspace);
|
|
693
|
-
const riskClass = detectRiskClass(pathFromRoot,
|
|
534
|
+
const relativePathWithinWorkspace = getWorkspaceRelativeSegments(segments, resolvedPolicy).join("/");
|
|
535
|
+
const layer = detectLayer(relativePathWithinWorkspace, resolvedPolicy);
|
|
536
|
+
const riskClass = detectRiskClass(pathFromRoot, relativePathWithinWorkspace, resolvedPolicy);
|
|
694
537
|
const complexity = detectComplexity(source);
|
|
695
|
-
const { authoringStatus, exclusionReason } = detectAuthoringStatus(segments, relativePathWithinWorkspace, source);
|
|
538
|
+
const { authoringStatus, exclusionReason } = detectAuthoringStatus(segments, relativePathWithinWorkspace, source, resolvedPolicy);
|
|
696
539
|
const requiredScaffolding = detectRequiredScaffolding(authoringStatus);
|
|
697
540
|
const markup = detectMarkup(source);
|
|
698
541
|
const keyDecisionsRequired = authoringStatus === "authored" &&
|
|
@@ -701,8 +544,8 @@ export async function createCompassInventoryEntries(workspaceRoot, input, scanRo
|
|
|
701
544
|
const nonEmptyLineCount = source.split(/\r?\n/).filter((line) => line.trim().length > 0).length;
|
|
702
545
|
const candidate = {
|
|
703
546
|
path: pathFromRoot,
|
|
704
|
-
workspaceKind: detectWorkspaceKind(segments),
|
|
705
|
-
workspaceName: detectWorkspaceName(segments),
|
|
547
|
+
workspaceKind: detectWorkspaceKind(segments, resolvedPolicy),
|
|
548
|
+
workspaceName: detectWorkspaceName(segments, resolvedPolicy),
|
|
706
549
|
layer,
|
|
707
550
|
extension: segments.length > 0
|
|
708
551
|
? segments[segments.length - 1].slice(segments[segments.length - 1].lastIndexOf("."))
|