project-tiny-context-harness 0.8.17 → 0.12.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/README.md +74 -481
- package/assets/agents/AGENTS_CORE.md +11 -87
- package/assets/tools/context_rules.json +54 -0
- package/dist/cli.js +2 -1
- package/dist/commands/context-create.d.ts +1 -0
- package/dist/commands/context-create.js +90 -0
- package/dist/commands/context-inspect.d.ts +1 -0
- package/dist/commands/context-inspect.js +28 -0
- package/dist/commands/context-list.d.ts +1 -0
- package/dist/commands/context-list.js +24 -0
- package/dist/commands/context-move.d.ts +1 -0
- package/dist/commands/context-move.js +78 -0
- package/dist/commands/context-register.d.ts +1 -0
- package/dist/commands/context-register.js +110 -0
- package/dist/commands/context-transaction.d.ts +1 -0
- package/dist/commands/context-transaction.js +84 -0
- package/dist/commands/context.d.ts +1 -0
- package/dist/commands/context.js +40 -0
- package/dist/commands/doctor.d.ts +1 -1
- package/dist/commands/doctor.js +44 -3
- package/dist/commands/index.js +38 -51
- package/dist/commands/init.d.ts +0 -2
- package/dist/commands/init.js +26 -108
- package/dist/commands/upgrade.js +14 -2
- package/dist/commands/validate.js +1 -1
- package/dist/index.d.ts +2 -13
- package/dist/index.js +2 -12
- package/dist/lib/cli-exit.d.ts +14 -0
- package/dist/lib/cli-exit.js +19 -0
- package/dist/lib/config.js +14 -45
- package/dist/lib/constants.d.ts +1 -1
- package/dist/lib/constants.js +1 -1
- package/dist/lib/context-catalog/catalog-default-footprint.d.ts +3 -0
- package/dist/lib/context-catalog/catalog-default-footprint.js +51 -0
- package/dist/lib/context-catalog/catalog-diagnostics.d.ts +9 -0
- package/dist/lib/context-catalog/catalog-diagnostics.js +34 -0
- package/dist/lib/context-catalog/catalog-discovery.d.ts +7 -0
- package/dist/lib/context-catalog/catalog-discovery.js +81 -0
- package/dist/lib/context-catalog/catalog-load.d.ts +8 -0
- package/dist/lib/context-catalog/catalog-load.js +205 -0
- package/dist/lib/context-catalog/catalog-path-validation.d.ts +7 -0
- package/dist/lib/context-catalog/catalog-path-validation.js +72 -0
- package/dist/lib/context-catalog/catalog-paths.d.ts +11 -0
- package/dist/lib/context-catalog/catalog-paths.js +41 -0
- package/dist/lib/context-catalog/catalog-portable-contract.d.ts +15 -0
- package/dist/lib/context-catalog/catalog-portable-contract.js +68 -0
- package/dist/lib/context-catalog/catalog-staged-path-safety.d.ts +1 -0
- package/dist/lib/context-catalog/catalog-staged-path-safety.js +36 -0
- package/dist/lib/context-catalog/catalog-types.d.ts +40 -0
- package/dist/lib/context-catalog/catalog-validation.d.ts +9 -0
- package/dist/lib/context-catalog/catalog-validation.js +156 -0
- package/dist/lib/context-controlling-source.d.ts +4 -0
- package/dist/lib/context-controlling-source.js +106 -0
- package/dist/lib/context-create/context-create-path.d.ts +2 -0
- package/dist/lib/context-create/context-create-path.js +30 -0
- package/dist/lib/context-create/context-create-template.d.ts +2 -0
- package/dist/lib/context-create/context-create-template.js +95 -0
- package/dist/lib/context-create/context-create-types.d.ts +28 -0
- package/dist/lib/context-create/context-create-write.d.ts +1 -0
- package/dist/lib/context-create/context-create-write.js +85 -0
- package/dist/lib/context-create/context-create.d.ts +2 -0
- package/dist/lib/context-create/context-create.js +86 -0
- package/dist/lib/context-default-footprint.d.ts +2 -3
- package/dist/lib/context-default-footprint.js +51 -57
- package/dist/lib/context-doctor/context-doctor-types.d.ts +6 -0
- package/dist/lib/context-doctor/context-doctor-types.js +3 -0
- package/dist/lib/context-export.js +17 -9
- package/dist/lib/context-inspect/context-inspect-projection.d.ts +8 -0
- package/dist/lib/context-inspect/context-inspect-projection.js +48 -0
- package/dist/lib/context-inspect/context-inspect-render.d.ts +2 -0
- package/dist/lib/context-inspect/context-inspect-render.js +21 -0
- package/dist/lib/context-inspect/context-inspect-types.d.ts +29 -0
- package/dist/lib/context-inspect/context-inspect.d.ts +2 -0
- package/dist/lib/context-inspect/context-inspect.js +77 -0
- package/dist/lib/context-manifest-schema.d.ts +2 -1
- package/dist/lib/context-manifest-schema.js +6 -21
- package/dist/lib/context-manifest.js +1 -41
- package/dist/lib/context-markdown/context-markdown-analysis.d.ts +15 -0
- package/dist/lib/context-markdown/context-markdown-analysis.js +253 -0
- package/dist/lib/context-markdown/context-markdown-extract.d.ts +8 -0
- package/dist/lib/context-markdown/context-markdown-extract.js +134 -0
- package/dist/lib/context-markdown/context-markdown-types.d.ts +83 -0
- package/dist/lib/context-move/context-move-input.d.ts +8 -0
- package/dist/lib/context-move/context-move-input.js +17 -0
- package/dist/lib/context-move/context-move-literal-scan.d.ts +20 -0
- package/dist/lib/context-move/context-move-literal-scan.js +213 -0
- package/dist/lib/context-move/context-move-live-validation.d.ts +3 -0
- package/dist/lib/context-move/context-move-live-validation.js +56 -0
- package/dist/lib/context-move/context-move-markdown-plan.d.ts +22 -0
- package/dist/lib/context-move/context-move-markdown-plan.js +39 -0
- package/dist/lib/context-move/context-move-projection.d.ts +3 -0
- package/dist/lib/context-move/context-move-projection.js +11 -0
- package/dist/lib/context-move/context-move-reference-validation.d.ts +11 -0
- package/dist/lib/context-move/context-move-reference-validation.js +64 -0
- package/dist/lib/context-move/context-move-render.d.ts +2 -0
- package/dist/lib/context-move/context-move-render.js +24 -0
- package/dist/lib/context-move/context-move-support.d.ts +10 -0
- package/dist/lib/context-move/context-move-support.js +88 -0
- package/dist/lib/context-move/context-move-transaction-plan.d.ts +24 -0
- package/dist/lib/context-move/context-move-transaction-plan.js +108 -0
- package/dist/lib/context-move/context-move-types.d.ts +74 -0
- package/dist/lib/context-move/context-move.d.ts +8 -0
- package/dist/lib/context-move/context-move.js +181 -0
- package/dist/lib/context-mutation/manifest-lossless-patch.d.ts +28 -0
- package/dist/lib/context-mutation/manifest-lossless-patch.js +219 -0
- package/dist/lib/context-mutation/markdown-link-patch.d.ts +34 -0
- package/dist/lib/context-mutation/markdown-link-patch.js +143 -0
- package/dist/lib/context-mutation/markdown-link-spans.d.ts +10 -0
- package/dist/lib/context-mutation/markdown-link-spans.js +179 -0
- package/dist/lib/context-mutation/mutation-cas.d.ts +13 -0
- package/dist/lib/context-mutation/mutation-cas.js +365 -0
- package/dist/lib/context-mutation/mutation-command-support.d.ts +12 -0
- package/dist/lib/context-mutation/mutation-command-support.js +57 -0
- package/dist/lib/context-mutation/mutation-commit.d.ts +12 -0
- package/dist/lib/context-mutation/mutation-commit.js +89 -0
- package/dist/lib/context-mutation/mutation-directories.d.ts +5 -0
- package/dist/lib/context-mutation/mutation-directories.js +56 -0
- package/dist/lib/context-mutation/mutation-file-state.d.ts +14 -0
- package/dist/lib/context-mutation/mutation-file-state.js +137 -0
- package/dist/lib/context-mutation/mutation-interlock.d.ts +1 -0
- package/dist/lib/context-mutation/mutation-interlock.js +9 -0
- package/dist/lib/context-mutation/mutation-journal-file-validation.d.ts +1 -0
- package/dist/lib/context-mutation/mutation-journal-file-validation.js +106 -0
- package/dist/lib/context-mutation/mutation-journal-io.d.ts +5 -0
- package/dist/lib/context-mutation/mutation-journal-io.js +55 -0
- package/dist/lib/context-mutation/mutation-journal-storage.d.ts +18 -0
- package/dist/lib/context-mutation/mutation-journal-storage.js +283 -0
- package/dist/lib/context-mutation/mutation-journal-validation-support.d.ts +16 -0
- package/dist/lib/context-mutation/mutation-journal-validation-support.js +140 -0
- package/dist/lib/context-mutation/mutation-journal-validation.d.ts +3 -0
- package/dist/lib/context-mutation/mutation-journal-validation.js +177 -0
- package/dist/lib/context-mutation/mutation-journal.d.ts +8 -0
- package/dist/lib/context-mutation/mutation-journal.js +111 -0
- package/dist/lib/context-mutation/mutation-live-validation.d.ts +3 -0
- package/dist/lib/context-mutation/mutation-live-validation.js +51 -0
- package/dist/lib/context-mutation/mutation-recovery.d.ts +4 -0
- package/dist/lib/context-mutation/mutation-recovery.js +189 -0
- package/dist/lib/context-mutation/mutation-staged-fs.d.ts +5 -0
- package/dist/lib/context-mutation/mutation-staged-fs.js +56 -0
- package/dist/lib/context-mutation/mutation-types.d.ts +103 -0
- package/dist/lib/context-register/context-register-input.d.ts +11 -0
- package/dist/lib/context-register/context-register-input.js +43 -0
- package/dist/lib/context-register/context-register-render.d.ts +2 -0
- package/dist/lib/context-register/context-register-render.js +21 -0
- package/dist/lib/context-register/context-register-support.d.ts +6 -0
- package/dist/lib/context-register/context-register-support.js +46 -0
- package/dist/lib/context-register/context-register-types.d.ts +46 -0
- package/dist/lib/context-register/context-register.d.ts +8 -0
- package/dist/lib/context-register/context-register.js +158 -0
- package/dist/lib/context-templates.d.ts +0 -4
- package/dist/lib/context-templates.js +1 -210
- package/dist/lib/doctor.d.ts +2 -1
- package/dist/lib/doctor.js +45 -106
- package/dist/lib/fs.js +1 -1
- package/dist/lib/{long-task-git.js → git.js} +3 -3
- package/dist/lib/init.js +34 -39
- package/dist/lib/maintenance-lock.d.ts +3 -0
- package/dist/lib/maintenance-lock.js +203 -0
- package/dist/lib/maintenance-write.d.ts +3 -0
- package/dist/lib/maintenance-write.js +55 -0
- package/dist/lib/migrations.d.ts +1 -20
- package/dist/lib/migrations.js +48 -714
- package/dist/lib/package-json-config.js +34 -21
- package/dist/lib/package-source.js +27 -14
- package/dist/lib/repository-path-safety.d.ts +3 -0
- package/dist/lib/repository-path-safety.js +23 -3
- package/dist/lib/retirement-assets.d.ts +13 -0
- package/dist/lib/retirement-assets.js +182 -0
- package/dist/lib/retirement-binding.d.ts +10 -0
- package/dist/lib/retirement-binding.js +59 -0
- package/dist/lib/retirement-defaults.d.ts +7 -0
- package/dist/lib/retirement-defaults.js +29 -0
- package/dist/lib/retirement-plan.d.ts +10 -0
- package/dist/lib/retirement-plan.js +96 -0
- package/dist/lib/retirement-preflight.d.ts +2 -0
- package/dist/lib/retirement-preflight.js +13 -0
- package/dist/lib/retirement-references.d.ts +6 -0
- package/dist/lib/retirement-references.js +102 -0
- package/dist/lib/retirement-runner.d.ts +22 -0
- package/dist/lib/retirement-runner.js +217 -0
- package/dist/lib/schema-guard.d.ts +1 -0
- package/dist/lib/schema-guard.js +47 -6
- package/dist/lib/source-files.d.ts +0 -2
- package/dist/lib/source-files.js +0 -21
- package/dist/lib/source-pack-export.js +4 -1
- package/dist/lib/source-pack-manifest.js +93 -38
- package/dist/lib/sync-engine.d.ts +7 -1
- package/dist/lib/sync-engine.js +38 -336
- package/dist/lib/types.d.ts +0 -19
- package/dist/lib/upgrade.d.ts +3 -2
- package/dist/lib/upgrade.js +30 -40
- package/dist/lib/validators.d.ts +4 -1
- package/dist/lib/validators.js +76 -517
- package/dist/public-api-core.d.ts +15 -0
- package/dist/public-api-core.js +15 -0
- package/dist/public-types.d.ts +7 -9
- package/migrations/README.md +22 -82
- package/migrations/schema-4-owned-assets.json +170 -0
- package/package.json +18 -22
- package/source-mappings.yaml +3 -21
- package/assets/README.md +0 -830
- package/assets/README.zh-CN.md +0 -497
- package/assets/agents/.gitkeep +0 -1
- package/assets/agents/long-task-implementation.toml +0 -15
- package/assets/context_templates/architecture.md +0 -37
- package/assets/context_templates/area.md +0 -40
- package/assets/context_templates/context.toml +0 -41
- package/assets/context_templates/deployment.md +0 -35
- package/assets/context_templates/global.md +0 -57
- package/assets/context_templates/product-surface-contract.md +0 -70
- package/assets/context_templates/screen-contract.md +0 -205
- package/assets/context_templates/verification.md +0 -35
- package/assets/github/.gitkeep +0 -1
- package/assets/github/harness.yml +0 -41
- package/assets/make/.gitkeep +0 -1
- package/assets/make/ty-context.mk +0 -48
- package/assets/skills/context_development_engineer/SKILL.md +0 -58
- package/assets/skills/context_development_engineer/references/engineering-design-reasoning.md +0 -93
- package/assets/skills/context_full_project_export/SKILL.md +0 -70
- package/assets/skills/context_harness_upgrade/SKILL.md +0 -60
- package/assets/skills/context_product_plan/SKILL.md +0 -42
- package/assets/skills/context_surface_contract/SKILL.md +0 -205
- package/assets/skills/context_uiux_design/SKILL.md +0 -53
- package/assets/skills/context_uiux_design/references/task-uiux-analysis.md +0 -82
- package/assets/skills/design-resource-authoring/SKILL.md +0 -60
- package/assets/skills/design-resource-authoring/references/downstream-handoff.md +0 -63
- package/assets/skills/design-resource-authoring/references/formal-selected-web-app-handoff.md +0 -114
- package/assets/skills/design-resource-authoring/references/implementation-feasibility.md +0 -111
- package/assets/skills/design-resource-authoring/references/open-design-provider.md +0 -198
- package/assets/skills/design-resource-authoring/references/recovery-and-writeback.md +0 -205
- package/assets/skills/design-resource-authoring/references/resource-selection.md +0 -290
- package/assets/skills/design-system-authoring/SKILL.md +0 -57
- package/assets/skills/design-system-authoring/agents/openai.yaml +0 -6
- package/assets/skills/design-system-authoring/references/authority-adoption.md +0 -48
- package/assets/skills/design-system-authoring/references/open-design-design-system-provider.md +0 -110
- package/assets/skills/long-task-workflow/SKILL.md +0 -75
- package/assets/skills/long-task-workflow/agents/openai.yaml +0 -6
- package/assets/skills/long-task-workflow/references/authority-lifecycle.md +0 -80
- package/assets/skills/long-task-workflow/references/contract-authoring.md +0 -152
- package/assets/skills/long-task-workflow/references/evidence-design.md +0 -121
- package/assets/skills/long-task-workflow/references/source-authoring.md +0 -123
- package/assets/tools/validate_context.py +0 -442
- package/dist/commands/check-modularity.d.ts +0 -1
- package/dist/commands/check-modularity.js +0 -181
- package/dist/commands/composite-campaign.d.ts +0 -1
- package/dist/commands/composite-campaign.js +0 -8
- package/dist/commands/composite-long-task.d.ts +0 -1
- package/dist/commands/composite-long-task.js +0 -8
- package/dist/commands/delivery-set.d.ts +0 -1
- package/dist/commands/delivery-set.js +0 -8
- package/dist/commands/design-resource-recovery.d.ts +0 -1
- package/dist/commands/design-resource-recovery.js +0 -152
- package/dist/commands/design-resource.d.ts +0 -1
- package/dist/commands/design-resource.js +0 -125
- package/dist/commands/disable.d.ts +0 -1
- package/dist/commands/disable.js +0 -15
- package/dist/commands/enable.d.ts +0 -1
- package/dist/commands/enable.js +0 -16
- package/dist/commands/long-task-authoring.d.ts +0 -3
- package/dist/commands/long-task-authoring.js +0 -216
- package/dist/commands/long-task-command-args.d.ts +0 -4
- package/dist/commands/long-task-command-args.js +0 -26
- package/dist/commands/long-task-explain.d.ts +0 -1
- package/dist/commands/long-task-explain.js +0 -52
- package/dist/commands/long-task-revision.d.ts +0 -1
- package/dist/commands/long-task-revision.js +0 -177
- package/dist/commands/long-task.d.ts +0 -1
- package/dist/commands/long-task.js +0 -143
- package/dist/lib/compact-authoring-support.d.ts +0 -22
- package/dist/lib/compact-authoring-support.js +0 -143
- package/dist/lib/compact-shared-structure-authoring.d.ts +0 -5
- package/dist/lib/compact-shared-structure-authoring.js +0 -9
- package/dist/lib/compact-shared-structure-types.d.ts +0 -61
- package/dist/lib/compact-shared-structure-validation.d.ts +0 -2
- package/dist/lib/compact-shared-structure-validation.js +0 -159
- package/dist/lib/compact-shared-structures.d.ts +0 -3
- package/dist/lib/compact-shared-structures.js +0 -204
- package/dist/lib/context-graph-snapshot.d.ts +0 -18
- package/dist/lib/context-graph-snapshot.js +0 -178
- package/dist/lib/design-md.d.ts +0 -12
- package/dist/lib/design-md.js +0 -169
- package/dist/lib/design-resource-fact-enums.d.ts +0 -24
- package/dist/lib/design-resource-fact-enums.js +0 -182
- package/dist/lib/design-resource-fact-locator-extractors.d.ts +0 -8
- package/dist/lib/design-resource-fact-locator-extractors.js +0 -108
- package/dist/lib/design-resource-fact-locator-resolver.d.ts +0 -3
- package/dist/lib/design-resource-fact-locator-resolver.js +0 -112
- package/dist/lib/design-resource-fact-locator-validation.d.ts +0 -5
- package/dist/lib/design-resource-fact-locator-validation.js +0 -16
- package/dist/lib/design-resource-fact-manifest-catalog.d.ts +0 -4
- package/dist/lib/design-resource-fact-manifest-catalog.js +0 -249
- package/dist/lib/design-resource-fact-manifest-model.d.ts +0 -91
- package/dist/lib/design-resource-fact-manifest-model.js +0 -21
- package/dist/lib/design-resource-fact-manifest-shape-axes.d.ts +0 -6
- package/dist/lib/design-resource-fact-manifest-shape-axes.js +0 -159
- package/dist/lib/design-resource-fact-manifest-shape-evidence.d.ts +0 -4
- package/dist/lib/design-resource-fact-manifest-shape-evidence.js +0 -59
- package/dist/lib/design-resource-fact-manifest-shape-facts.d.ts +0 -4
- package/dist/lib/design-resource-fact-manifest-shape-facts.js +0 -109
- package/dist/lib/design-resource-fact-manifest-shape-inspector.d.ts +0 -5
- package/dist/lib/design-resource-fact-manifest-shape-inspector.js +0 -144
- package/dist/lib/design-resource-fact-manifest-shape.d.ts +0 -7
- package/dist/lib/design-resource-fact-manifest-shape.js +0 -75
- package/dist/lib/design-resource-fact-manifest-types.d.ts +0 -3
- package/dist/lib/design-resource-fact-manifest-types.js +0 -3
- package/dist/lib/design-resource-fact-manifest-universe.d.ts +0 -5
- package/dist/lib/design-resource-fact-manifest-universe.js +0 -50
- package/dist/lib/design-resource-fact-manifest-validation.d.ts +0 -5
- package/dist/lib/design-resource-fact-manifest-validation.js +0 -111
- package/dist/lib/design-resource-fact-policy.d.ts +0 -43
- package/dist/lib/design-resource-fact-policy.js +0 -106
- package/dist/lib/design-resource-fact-property-methods.d.ts +0 -3
- package/dist/lib/design-resource-fact-property-methods.js +0 -158
- package/dist/lib/design-resource-fact-shape-primitives.d.ts +0 -3
- package/dist/lib/design-resource-fact-shape-primitives.js +0 -18
- package/dist/lib/design-resource-fact-types.d.ts +0 -164
- package/dist/lib/design-resource-fact-universe-assets.d.ts +0 -4
- package/dist/lib/design-resource-fact-universe-assets.js +0 -71
- package/dist/lib/design-resource-fact-universe-catalog.d.ts +0 -4
- package/dist/lib/design-resource-fact-universe-catalog.js +0 -161
- package/dist/lib/design-resource-fact-universe-conditions.d.ts +0 -2
- package/dist/lib/design-resource-fact-universe-conditions.js +0 -92
- package/dist/lib/design-resource-fact-universe-facts.d.ts +0 -4
- package/dist/lib/design-resource-fact-universe-facts.js +0 -108
- package/dist/lib/design-resource-fact-universe-helpers.d.ts +0 -30
- package/dist/lib/design-resource-fact-universe-helpers.js +0 -171
- package/dist/lib/design-resource-fact-universe-inspector.d.ts +0 -7
- package/dist/lib/design-resource-fact-universe-inspector.js +0 -119
- package/dist/lib/design-resource-fact-universe-proof.d.ts +0 -4
- package/dist/lib/design-resource-fact-universe-proof.js +0 -113
- package/dist/lib/design-resource-fact-universe-subjects.d.ts +0 -5
- package/dist/lib/design-resource-fact-universe-subjects.js +0 -97
- package/dist/lib/design-resource-fact-universe-variations.d.ts +0 -2
- package/dist/lib/design-resource-fact-universe-variations.js +0 -75
- package/dist/lib/design-resource-fact-value-validation.d.ts +0 -2
- package/dist/lib/design-resource-fact-value-validation.js +0 -80
- package/dist/lib/design-resource-handoff-bundle-draft.d.ts +0 -11
- package/dist/lib/design-resource-handoff-bundle-draft.js +0 -40
- package/dist/lib/design-resource-handoff-bundle.d.ts +0 -31
- package/dist/lib/design-resource-handoff-bundle.js +0 -152
- package/dist/lib/design-resource-handoff-file-primitives.d.ts +0 -4
- package/dist/lib/design-resource-handoff-file-primitives.js +0 -16
- package/dist/lib/design-resource-handoff-file-validation.d.ts +0 -2
- package/dist/lib/design-resource-handoff-file-validation.js +0 -47
- package/dist/lib/design-resource-handoff-input-types.d.ts +0 -14
- package/dist/lib/design-resource-handoff-manifest-projection.d.ts +0 -4
- package/dist/lib/design-resource-handoff-manifest-projection.js +0 -38
- package/dist/lib/design-resource-handoff-parser.d.ts +0 -8
- package/dist/lib/design-resource-handoff-parser.js +0 -49
- package/dist/lib/design-resource-handoff-policy.d.ts +0 -4
- package/dist/lib/design-resource-handoff-policy.js +0 -143
- package/dist/lib/design-resource-handoff-set-integrity.d.ts +0 -8
- package/dist/lib/design-resource-handoff-set-integrity.js +0 -94
- package/dist/lib/design-resource-handoff-shape-evidence.d.ts +0 -6
- package/dist/lib/design-resource-handoff-shape-evidence.js +0 -187
- package/dist/lib/design-resource-handoff-shape-primitives.d.ts +0 -14
- package/dist/lib/design-resource-handoff-shape-primitives.js +0 -70
- package/dist/lib/design-resource-handoff-shape-structure.d.ts +0 -5
- package/dist/lib/design-resource-handoff-shape-structure.js +0 -239
- package/dist/lib/design-resource-handoff-shape.d.ts +0 -6
- package/dist/lib/design-resource-handoff-shape.js +0 -180
- package/dist/lib/design-resource-handoff-snapshot.d.ts +0 -6
- package/dist/lib/design-resource-handoff-snapshot.js +0 -25
- package/dist/lib/design-resource-handoff-types.d.ts +0 -261
- package/dist/lib/design-resource-handoff-types.js +0 -68
- package/dist/lib/design-resource-handoff-validation-coverage.d.ts +0 -4
- package/dist/lib/design-resource-handoff-validation-coverage.js +0 -223
- package/dist/lib/design-resource-handoff-validation-fact-cells.d.ts +0 -2
- package/dist/lib/design-resource-handoff-validation-fact-cells.js +0 -60
- package/dist/lib/design-resource-handoff-validation-fact-records.d.ts +0 -2
- package/dist/lib/design-resource-handoff-validation-fact-records.js +0 -90
- package/dist/lib/design-resource-handoff-validation-facts.d.ts +0 -2
- package/dist/lib/design-resource-handoff-validation-facts.js +0 -13
- package/dist/lib/design-resource-handoff-validation-primitives.d.ts +0 -11
- package/dist/lib/design-resource-handoff-validation-primitives.js +0 -26
- package/dist/lib/design-resource-handoff-validation-proofs.d.ts +0 -2
- package/dist/lib/design-resource-handoff-validation-proofs.js +0 -67
- package/dist/lib/design-resource-handoff-validation-resource-closure.d.ts +0 -3
- package/dist/lib/design-resource-handoff-validation-resource-closure.js +0 -88
- package/dist/lib/design-resource-handoff-validation-structure.d.ts +0 -6
- package/dist/lib/design-resource-handoff-validation-structure.js +0 -124
- package/dist/lib/design-resource-handoff-validation.d.ts +0 -8
- package/dist/lib/design-resource-handoff-validation.js +0 -165
- package/dist/lib/design-resource-handoff-web-dependency-validation.d.ts +0 -6
- package/dist/lib/design-resource-handoff-web-dependency-validation.js +0 -130
- package/dist/lib/design-resource-implementation-feasibility-model.d.ts +0 -35
- package/dist/lib/design-resource-implementation-feasibility-model.js +0 -62
- package/dist/lib/design-resource-implementation-feasibility-shape-sections.d.ts +0 -43
- package/dist/lib/design-resource-implementation-feasibility-shape-sections.js +0 -142
- package/dist/lib/design-resource-implementation-feasibility-shape.d.ts +0 -4
- package/dist/lib/design-resource-implementation-feasibility-shape.js +0 -154
- package/dist/lib/design-resource-implementation-feasibility-source-decision-projection.d.ts +0 -24
- package/dist/lib/design-resource-implementation-feasibility-source-decision-projection.js +0 -106
- package/dist/lib/design-resource-implementation-feasibility-source-decision.d.ts +0 -21
- package/dist/lib/design-resource-implementation-feasibility-source-decision.js +0 -75
- package/dist/lib/design-resource-implementation-feasibility-types.d.ts +0 -135
- package/dist/lib/design-resource-implementation-feasibility-types.js +0 -37
- package/dist/lib/design-resource-implementation-feasibility-validation-cells.d.ts +0 -5
- package/dist/lib/design-resource-implementation-feasibility-validation-cells.js +0 -125
- package/dist/lib/design-resource-implementation-feasibility-validation-document.d.ts +0 -4
- package/dist/lib/design-resource-implementation-feasibility-validation-document.js +0 -167
- package/dist/lib/design-resource-implementation-feasibility-validation-facts.d.ts +0 -3
- package/dist/lib/design-resource-implementation-feasibility-validation-facts.js +0 -76
- package/dist/lib/design-resource-implementation-feasibility-validation-realizations.d.ts +0 -8
- package/dist/lib/design-resource-implementation-feasibility-validation-realizations.js +0 -76
- package/dist/lib/design-resource-implementation-feasibility-validation-support.d.ts +0 -10
- package/dist/lib/design-resource-implementation-feasibility-validation-support.js +0 -75
- package/dist/lib/design-resource-implementation-feasibility-validation.d.ts +0 -3
- package/dist/lib/design-resource-implementation-feasibility-validation.js +0 -138
- package/dist/lib/design-resource-reconciliation-codec.d.ts +0 -2
- package/dist/lib/design-resource-reconciliation-codec.js +0 -174
- package/dist/lib/design-resource-reconciliation-types.d.ts +0 -62
- package/dist/lib/design-resource-reconciliation.d.ts +0 -3
- package/dist/lib/design-resource-reconciliation.js +0 -224
- package/dist/lib/design-resource-recovery-authority-policy.d.ts +0 -8
- package/dist/lib/design-resource-recovery-authority-policy.js +0 -123
- package/dist/lib/design-resource-recovery-catalog-resources.d.ts +0 -6
- package/dist/lib/design-resource-recovery-catalog-resources.js +0 -121
- package/dist/lib/design-resource-recovery-catalog-shape.d.ts +0 -3
- package/dist/lib/design-resource-recovery-catalog-shape.js +0 -104
- package/dist/lib/design-resource-recovery-catalog.d.ts +0 -9
- package/dist/lib/design-resource-recovery-catalog.js +0 -103
- package/dist/lib/design-resource-recovery-cleanup.d.ts +0 -2
- package/dist/lib/design-resource-recovery-cleanup.js +0 -11
- package/dist/lib/design-resource-recovery-codec-primitives.d.ts +0 -19
- package/dist/lib/design-resource-recovery-codec-primitives.js +0 -92
- package/dist/lib/design-resource-recovery-codec.d.ts +0 -4
- package/dist/lib/design-resource-recovery-codec.js +0 -93
- package/dist/lib/design-resource-recovery-current.d.ts +0 -9
- package/dist/lib/design-resource-recovery-current.js +0 -41
- package/dist/lib/design-resource-recovery-delta-policy.d.ts +0 -5
- package/dist/lib/design-resource-recovery-delta-policy.js +0 -108
- package/dist/lib/design-resource-recovery-files.d.ts +0 -37
- package/dist/lib/design-resource-recovery-files.js +0 -204
- package/dist/lib/design-resource-recovery-final-disposition-shape.d.ts +0 -2
- package/dist/lib/design-resource-recovery-final-disposition-shape.js +0 -47
- package/dist/lib/design-resource-recovery-patch-types.d.ts +0 -54
- package/dist/lib/design-resource-recovery-replay.d.ts +0 -7
- package/dist/lib/design-resource-recovery-replay.js +0 -112
- package/dist/lib/design-resource-recovery-repository-bindings.d.ts +0 -9
- package/dist/lib/design-resource-recovery-repository-bindings.js +0 -49
- package/dist/lib/design-resource-recovery-schema.d.ts +0 -5
- package/dist/lib/design-resource-recovery-schema.js +0 -5
- package/dist/lib/design-resource-recovery-shape.d.ts +0 -10
- package/dist/lib/design-resource-recovery-shape.js +0 -184
- package/dist/lib/design-resource-recovery-source-authority.d.ts +0 -5
- package/dist/lib/design-resource-recovery-source-authority.js +0 -219
- package/dist/lib/design-resource-recovery-text.d.ts +0 -17
- package/dist/lib/design-resource-recovery-text.js +0 -186
- package/dist/lib/design-resource-recovery-types.d.ts +0 -197
- package/dist/lib/design-resource-recovery-writeback-policy.d.ts +0 -5
- package/dist/lib/design-resource-recovery-writeback-policy.js +0 -326
- package/dist/lib/design-resource-recovery-writeback-shape.d.ts +0 -6
- package/dist/lib/design-resource-recovery-writeback-shape.js +0 -155
- package/dist/lib/design-resource-recovery.d.ts +0 -44
- package/dist/lib/design-resource-recovery.js +0 -216
- package/dist/lib/design-resource-symbolic-applicability-authority.d.ts +0 -7
- package/dist/lib/design-resource-symbolic-applicability-authority.js +0 -19
- package/dist/lib/design-resource-symbolic-applicability-policy.d.ts +0 -12
- package/dist/lib/design-resource-symbolic-applicability-policy.js +0 -79
- package/dist/lib/design-resource-symbolic-applicability-profiles.d.ts +0 -8
- package/dist/lib/design-resource-symbolic-applicability-profiles.js +0 -55
- package/dist/lib/design-resource-symbolic-applicability-shape.d.ts +0 -2
- package/dist/lib/design-resource-symbolic-applicability-shape.js +0 -76
- package/dist/lib/design-resource-symbolic-applicability-validation.d.ts +0 -7
- package/dist/lib/design-resource-symbolic-applicability-validation.js +0 -128
- package/dist/lib/design-resource-symbolic-compilation.d.ts +0 -3
- package/dist/lib/design-resource-symbolic-compilation.js +0 -13
- package/dist/lib/design-resource-symbolic-denotation.d.ts +0 -3
- package/dist/lib/design-resource-symbolic-denotation.js +0 -167
- package/dist/lib/design-resource-symbolic-disposition-validation.d.ts +0 -4
- package/dist/lib/design-resource-symbolic-disposition-validation.js +0 -28
- package/dist/lib/design-resource-symbolic-fact-policy.d.ts +0 -12
- package/dist/lib/design-resource-symbolic-fact-policy.js +0 -12
- package/dist/lib/design-resource-symbolic-fact-shape.d.ts +0 -3
- package/dist/lib/design-resource-symbolic-fact-shape.js +0 -140
- package/dist/lib/design-resource-symbolic-fact-types.d.ts +0 -218
- package/dist/lib/design-resource-symbolic-fact-validation.d.ts +0 -3
- package/dist/lib/design-resource-symbolic-fact-validation.js +0 -99
- package/dist/lib/design-resource-symbolic-indexes.d.ts +0 -23
- package/dist/lib/design-resource-symbolic-indexes.js +0 -54
- package/dist/lib/design-resource-symbolic-manifest-shape.d.ts +0 -3
- package/dist/lib/design-resource-symbolic-manifest-shape.js +0 -155
- package/dist/lib/design-resource-symbolic-manifest-validation.d.ts +0 -6
- package/dist/lib/design-resource-symbolic-manifest-validation.js +0 -132
- package/dist/lib/design-resource-symbolic-noninterference-artifact.d.ts +0 -33
- package/dist/lib/design-resource-symbolic-noninterference-artifact.js +0 -110
- package/dist/lib/design-resource-symbolic-noninterference-equivalence.d.ts +0 -3
- package/dist/lib/design-resource-symbolic-noninterference-equivalence.js +0 -77
- package/dist/lib/design-resource-symbolic-noninterference-recompute.d.ts +0 -4
- package/dist/lib/design-resource-symbolic-noninterference-recompute.js +0 -146
- package/dist/lib/design-resource-symbolic-noninterference-scope.d.ts +0 -7
- package/dist/lib/design-resource-symbolic-noninterference-scope.js +0 -49
- package/dist/lib/design-resource-symbolic-noninterference-shape.d.ts +0 -2
- package/dist/lib/design-resource-symbolic-noninterference-shape.js +0 -152
- package/dist/lib/design-resource-symbolic-noninterference-types.d.ts +0 -103
- package/dist/lib/design-resource-symbolic-noninterference-types.js +0 -1
- package/dist/lib/design-resource-symbolic-noninterference-validation.d.ts +0 -5
- package/dist/lib/design-resource-symbolic-noninterference-validation.js +0 -62
- package/dist/lib/design-resource-symbolic-oracle-fingerprint.d.ts +0 -1
- package/dist/lib/design-resource-symbolic-oracle-fingerprint.js +0 -47
- package/dist/lib/design-resource-symbolic-predicate-shape.d.ts +0 -6
- package/dist/lib/design-resource-symbolic-predicate-shape.js +0 -123
- package/dist/lib/design-resource-symbolic-production-closure.d.ts +0 -4
- package/dist/lib/design-resource-symbolic-production-closure.js +0 -144
- package/dist/lib/design-resource-symbolic-proof-authority-validation.d.ts +0 -10
- package/dist/lib/design-resource-symbolic-proof-authority-validation.js +0 -68
- package/dist/lib/design-resource-symbolic-proof-validation.d.ts +0 -10
- package/dist/lib/design-resource-symbolic-proof-validation.js +0 -89
- package/dist/lib/design-resource-symbolic-region-validation.d.ts +0 -19
- package/dist/lib/design-resource-symbolic-region-validation.js +0 -146
- package/dist/lib/design-resource-symbolic-resource-validation.d.ts +0 -5
- package/dist/lib/design-resource-symbolic-resource-validation.js +0 -90
- package/dist/lib/design-resource-symbolic-rule-shape.d.ts +0 -27
- package/dist/lib/design-resource-symbolic-rule-shape.js +0 -158
- package/dist/lib/design-resource-symbolic-safety-validation.d.ts +0 -6
- package/dist/lib/design-resource-symbolic-safety-validation.js +0 -29
- package/dist/lib/design-resource-symbolic-source-ir-evaluation.d.ts +0 -19
- package/dist/lib/design-resource-symbolic-source-ir-evaluation.js +0 -74
- package/dist/lib/design-resource-symbolic-source-ir-evidence.d.ts +0 -44
- package/dist/lib/design-resource-symbolic-source-ir-evidence.js +0 -88
- package/dist/lib/design-resource-symbolic-source-ir-oracle.d.ts +0 -13
- package/dist/lib/design-resource-symbolic-source-ir-oracle.js +0 -96
- package/dist/lib/design-resource-symbolic-source-ir-proof.d.ts +0 -14
- package/dist/lib/design-resource-symbolic-source-ir-proof.js +0 -98
- package/dist/lib/design-resource-symbolic-source-ir-shape.d.ts +0 -2
- package/dist/lib/design-resource-symbolic-source-ir-shape.js +0 -38
- package/dist/lib/design-resource-symbolic-source-ir-types.d.ts +0 -17
- package/dist/lib/design-resource-symbolic-source-ir-types.js +0 -2
- package/dist/lib/design-resource-symbolic-static-dependency-validation.d.ts +0 -2
- package/dist/lib/design-resource-symbolic-static-dependency-validation.js +0 -83
- package/dist/lib/design-resource-symbolic-structural-closure-validation.d.ts +0 -6
- package/dist/lib/design-resource-symbolic-structural-closure-validation.js +0 -79
- package/dist/lib/design-resource-symbolic-validation-support.d.ts +0 -29
- package/dist/lib/design-resource-symbolic-validation-support.js +0 -111
- package/dist/lib/design-resource-v1-capacity-header.d.ts +0 -8
- package/dist/lib/design-resource-v1-capacity-header.js +0 -231
- package/dist/lib/design-resource-v1-capacity.d.ts +0 -5
- package/dist/lib/design-resource-v1-capacity.js +0 -45
- package/dist/lib/execution-target-capabilities.d.ts +0 -2
- package/dist/lib/execution-target-capabilities.js +0 -45
- package/dist/lib/legacy-managed-scan.d.ts +0 -2
- package/dist/lib/legacy-managed-scan.js +0 -95
- package/dist/lib/legacy-sdlc-migration.d.ts +0 -2
- package/dist/lib/legacy-sdlc-migration.js +0 -199
- package/dist/lib/long-task-acceptance-reference.d.ts +0 -22
- package/dist/lib/long-task-acceptance-reference.js +0 -46
- package/dist/lib/long-task-acceptance-shape.d.ts +0 -5
- package/dist/lib/long-task-acceptance-shape.js +0 -198
- package/dist/lib/long-task-activation-validation.d.ts +0 -21
- package/dist/lib/long-task-activation-validation.js +0 -243
- package/dist/lib/long-task-admitted-observation-records.d.ts +0 -25
- package/dist/lib/long-task-admitted-observation-records.js +0 -40
- package/dist/lib/long-task-admitted-observation.d.ts +0 -93
- package/dist/lib/long-task-admitted-observation.js +0 -201
- package/dist/lib/long-task-applicability-shape.d.ts +0 -4
- package/dist/lib/long-task-applicability-shape.js +0 -54
- package/dist/lib/long-task-artifacts.d.ts +0 -6
- package/dist/lib/long-task-artifacts.js +0 -35
- package/dist/lib/long-task-assertions-v2.d.ts +0 -22
- package/dist/lib/long-task-assertions-v2.js +0 -220
- package/dist/lib/long-task-authoring-authority-preview.d.ts +0 -5
- package/dist/lib/long-task-authoring-authority-preview.js +0 -87
- package/dist/lib/long-task-authoring-preflight-diagnostics.d.ts +0 -8
- package/dist/lib/long-task-authoring-preflight-diagnostics.js +0 -191
- package/dist/lib/long-task-authoring-preflight-repair-order.d.ts +0 -8
- package/dist/lib/long-task-authoring-preflight-repair-order.js +0 -98
- package/dist/lib/long-task-authoring-preflight-types.d.ts +0 -46
- package/dist/lib/long-task-authoring-preflight-types.js +0 -38
- package/dist/lib/long-task-authoring-preflight.d.ts +0 -3
- package/dist/lib/long-task-authoring-preflight.js +0 -86
- package/dist/lib/long-task-authority-material-diff.d.ts +0 -17
- package/dist/lib/long-task-authority-material-diff.js +0 -221
- package/dist/lib/long-task-authority-materials.d.ts +0 -7
- package/dist/lib/long-task-authority-materials.js +0 -166
- package/dist/lib/long-task-authority-policy.d.ts +0 -287
- package/dist/lib/long-task-authority-policy.js +0 -307
- package/dist/lib/long-task-authority-revision-analysis.d.ts +0 -34
- package/dist/lib/long-task-authority-revision-analysis.js +0 -121
- package/dist/lib/long-task-authority-revision-brief.d.ts +0 -3
- package/dist/lib/long-task-authority-revision-brief.js +0 -76
- package/dist/lib/long-task-authority-revision-details.d.ts +0 -21
- package/dist/lib/long-task-authority-revision-details.js +0 -204
- package/dist/lib/long-task-authority-revision-diagnosis.d.ts +0 -24
- package/dist/lib/long-task-authority-revision-diagnosis.js +0 -149
- package/dist/lib/long-task-authority-revision-enforcement.d.ts +0 -5
- package/dist/lib/long-task-authority-revision-enforcement.js +0 -53
- package/dist/lib/long-task-authority-revision-summary.d.ts +0 -14
- package/dist/lib/long-task-authority-revision-summary.js +0 -246
- package/dist/lib/long-task-authority-revision-types.d.ts +0 -119
- package/dist/lib/long-task-authority-revision-types.js +0 -1
- package/dist/lib/long-task-authority-revision.d.ts +0 -4
- package/dist/lib/long-task-authority-revision.js +0 -156
- package/dist/lib/long-task-authority-transition-policy.d.ts +0 -62
- package/dist/lib/long-task-authority-transition-policy.js +0 -62
- package/dist/lib/long-task-authority-types.d.ts +0 -129
- package/dist/lib/long-task-authority-types.js +0 -1
- package/dist/lib/long-task-authority.d.ts +0 -7
- package/dist/lib/long-task-authority.js +0 -200
- package/dist/lib/long-task-boundary-check.d.ts +0 -15
- package/dist/lib/long-task-boundary-check.js +0 -9
- package/dist/lib/long-task-check-evidence-decoder.d.ts +0 -3
- package/dist/lib/long-task-check-evidence-decoder.js +0 -84
- package/dist/lib/long-task-check-execution-policy.d.ts +0 -21
- package/dist/lib/long-task-check-execution-policy.js +0 -48
- package/dist/lib/long-task-check-runner.d.ts +0 -2
- package/dist/lib/long-task-check-runner.js +0 -307
- package/dist/lib/long-task-check-shape.d.ts +0 -2
- package/dist/lib/long-task-check-shape.js +0 -171
- package/dist/lib/long-task-claim-definitions.d.ts +0 -7
- package/dist/lib/long-task-claim-definitions.js +0 -85
- package/dist/lib/long-task-claim-proof-policy.d.ts +0 -4
- package/dist/lib/long-task-claim-proof-policy.js +0 -57
- package/dist/lib/long-task-claims.d.ts +0 -28
- package/dist/lib/long-task-claims.js +0 -373
- package/dist/lib/long-task-codex-agent-profile.d.ts +0 -42
- package/dist/lib/long-task-codex-agent-profile.js +0 -276
- package/dist/lib/long-task-command-process.d.ts +0 -9
- package/dist/lib/long-task-command-process.js +0 -175
- package/dist/lib/long-task-compact-authoring-projections.d.ts +0 -12
- package/dist/lib/long-task-compact-authoring-projections.js +0 -67
- package/dist/lib/long-task-compact-authoring.d.ts +0 -3
- package/dist/lib/long-task-compact-authoring.js +0 -173
- package/dist/lib/long-task-compact-carrier.d.ts +0 -7
- package/dist/lib/long-task-compact-carrier.js +0 -132
- package/dist/lib/long-task-compact-parser.d.ts +0 -14
- package/dist/lib/long-task-compact-parser.js +0 -123
- package/dist/lib/long-task-compact-primitives.d.ts +0 -22
- package/dist/lib/long-task-compact-primitives.js +0 -132
- package/dist/lib/long-task-compact-projections.d.ts +0 -4
- package/dist/lib/long-task-compact-projections.js +0 -153
- package/dist/lib/long-task-compact-structure-targets.d.ts +0 -2
- package/dist/lib/long-task-compact-structure-targets.js +0 -91
- package/dist/lib/long-task-conformance-policy.d.ts +0 -5
- package/dist/lib/long-task-conformance-policy.js +0 -37
- package/dist/lib/long-task-context-authority-topology.d.ts +0 -7
- package/dist/lib/long-task-context-authority-topology.js +0 -37
- package/dist/lib/long-task-context-authority.d.ts +0 -14
- package/dist/lib/long-task-context-authority.js +0 -66
- package/dist/lib/long-task-contract-types.d.ts +0 -266
- package/dist/lib/long-task-contract-types.js +0 -1
- package/dist/lib/long-task-control-fields.d.ts +0 -12
- package/dist/lib/long-task-control-fields.js +0 -66
- package/dist/lib/long-task-control-types.d.ts +0 -1
- package/dist/lib/long-task-control-types.js +0 -1
- package/dist/lib/long-task-counterfactual-claim-policy.d.ts +0 -9
- package/dist/lib/long-task-counterfactual-claim-policy.js +0 -72
- package/dist/lib/long-task-counterfactual-sandbox.d.ts +0 -13
- package/dist/lib/long-task-counterfactual-sandbox.js +0 -115
- package/dist/lib/long-task-counterfactual-types.d.ts +0 -38
- package/dist/lib/long-task-counterfactual-types.js +0 -1
- package/dist/lib/long-task-delivery-compiler.d.ts +0 -13
- package/dist/lib/long-task-delivery-compiler.js +0 -155
- package/dist/lib/long-task-delivery-parser.d.ts +0 -14
- package/dist/lib/long-task-delivery-parser.js +0 -135
- package/dist/lib/long-task-delivery-preflight.d.ts +0 -5
- package/dist/lib/long-task-delivery-preflight.js +0 -175
- package/dist/lib/long-task-delivery-shape.d.ts +0 -6
- package/dist/lib/long-task-delivery-shape.js +0 -6
- package/dist/lib/long-task-delivery-types.d.ts +0 -13
- package/dist/lib/long-task-delivery-types.js +0 -13
- package/dist/lib/long-task-delivery-validation.d.ts +0 -6
- package/dist/lib/long-task-delivery-validation.js +0 -252
- package/dist/lib/long-task-design-feasibility-binding-owners.d.ts +0 -6
- package/dist/lib/long-task-design-feasibility-binding-owners.js +0 -52
- package/dist/lib/long-task-design-feasibility-binding.d.ts +0 -13
- package/dist/lib/long-task-design-feasibility-binding.js +0 -114
- package/dist/lib/long-task-design-feasibility-source-closure.d.ts +0 -11
- package/dist/lib/long-task-design-feasibility-source-closure.js +0 -78
- package/dist/lib/long-task-design-resource-handoff.d.ts +0 -18
- package/dist/lib/long-task-design-resource-handoff.js +0 -241
- package/dist/lib/long-task-design-resource-method-binding.d.ts +0 -15
- package/dist/lib/long-task-design-resource-method-binding.js +0 -297
- package/dist/lib/long-task-design-target-capabilities.d.ts +0 -14
- package/dist/lib/long-task-design-target-capabilities.js +0 -126
- package/dist/lib/long-task-evidence-adapter-policy.d.ts +0 -4
- package/dist/lib/long-task-evidence-adapter-policy.js +0 -15
- package/dist/lib/long-task-evidence-adapter-types.d.ts +0 -1
- package/dist/lib/long-task-evidence-adapter-types.js +0 -1
- package/dist/lib/long-task-evidence-capability-codec.d.ts +0 -96
- package/dist/lib/long-task-evidence-capability-codec.js +0 -892
- package/dist/lib/long-task-evidence-capability-policy.d.ts +0 -9
- package/dist/lib/long-task-evidence-capability-policy.js +0 -345
- package/dist/lib/long-task-evidence-capability-runtime.d.ts +0 -5
- package/dist/lib/long-task-evidence-capability-runtime.js +0 -580
- package/dist/lib/long-task-evidence-capability-types.d.ts +0 -276
- package/dist/lib/long-task-evidence-capability-types.js +0 -1
- package/dist/lib/long-task-evidence-findings.d.ts +0 -5
- package/dist/lib/long-task-evidence-findings.js +0 -120
- package/dist/lib/long-task-evidence-sensitivity-policy.d.ts +0 -13
- package/dist/lib/long-task-evidence-sensitivity-policy.js +0 -166
- package/dist/lib/long-task-evidence-v2.d.ts +0 -5
- package/dist/lib/long-task-evidence-v2.js +0 -525
- package/dist/lib/long-task-exact-comparison.d.ts +0 -16
- package/dist/lib/long-task-exact-comparison.js +0 -28
- package/dist/lib/long-task-execution-observation.d.ts +0 -24
- package/dist/lib/long-task-execution-observation.js +0 -332
- package/dist/lib/long-task-explain-acceptance-link.d.ts +0 -50
- package/dist/lib/long-task-explain-acceptance-link.js +0 -100
- package/dist/lib/long-task-explain-claim-links.d.ts +0 -47
- package/dist/lib/long-task-explain-claim-links.js +0 -90
- package/dist/lib/long-task-explain-source-links.d.ts +0 -99
- package/dist/lib/long-task-explain-source-links.js +0 -51
- package/dist/lib/long-task-final-integrity.d.ts +0 -16
- package/dist/lib/long-task-final-integrity.js +0 -98
- package/dist/lib/long-task-final-v2.d.ts +0 -2
- package/dist/lib/long-task-final-v2.js +0 -151
- package/dist/lib/long-task-finding-context.d.ts +0 -3
- package/dist/lib/long-task-finding-context.js +0 -63
- package/dist/lib/long-task-freshness.d.ts +0 -3
- package/dist/lib/long-task-freshness.js +0 -80
- package/dist/lib/long-task-hook-install.d.ts +0 -26
- package/dist/lib/long-task-hook-install.js +0 -381
- package/dist/lib/long-task-hook-preflight.d.ts +0 -7
- package/dist/lib/long-task-hook-preflight.js +0 -58
- package/dist/lib/long-task-json-pointer-observation.d.ts +0 -59
- package/dist/lib/long-task-json-pointer-observation.js +0 -184
- package/dist/lib/long-task-observation-artifact.d.ts +0 -8
- package/dist/lib/long-task-observation-artifact.js +0 -58
- package/dist/lib/long-task-observation-authority.d.ts +0 -17
- package/dist/lib/long-task-observation-authority.js +0 -348
- package/dist/lib/long-task-observation-ownership.d.ts +0 -2
- package/dist/lib/long-task-observation-ownership.js +0 -22
- package/dist/lib/long-task-outcome-parser.d.ts +0 -4
- package/dist/lib/long-task-outcome-parser.js +0 -143
- package/dist/lib/long-task-paths.d.ts +0 -48
- package/dist/lib/long-task-paths.js +0 -414
- package/dist/lib/long-task-playwright-capability-records.d.ts +0 -7
- package/dist/lib/long-task-playwright-capability-records.js +0 -218
- package/dist/lib/long-task-playwright-case-evidence.d.ts +0 -46
- package/dist/lib/long-task-playwright-case-evidence.js +0 -91
- package/dist/lib/long-task-playwright-case-primitives.d.ts +0 -28
- package/dist/lib/long-task-playwright-case-primitives.js +0 -143
- package/dist/lib/long-task-playwright-counterfactual-policy.d.ts +0 -7
- package/dist/lib/long-task-playwright-counterfactual-policy.js +0 -125
- package/dist/lib/long-task-playwright-evidence.d.ts +0 -8
- package/dist/lib/long-task-playwright-evidence.js +0 -147
- package/dist/lib/long-task-process-observation.d.ts +0 -6
- package/dist/lib/long-task-process-observation.js +0 -117
- package/dist/lib/long-task-process-runtime-closure.d.ts +0 -13
- package/dist/lib/long-task-process-runtime-closure.js +0 -207
- package/dist/lib/long-task-process-table.d.ts +0 -12
- package/dist/lib/long-task-process-table.js +0 -119
- package/dist/lib/long-task-process-tree.d.ts +0 -9
- package/dist/lib/long-task-process-tree.js +0 -138
- package/dist/lib/long-task-product-shape.d.ts +0 -8
- package/dist/lib/long-task-product-shape.js +0 -197
- package/dist/lib/long-task-progress.d.ts +0 -4
- package/dist/lib/long-task-progress.js +0 -120
- package/dist/lib/long-task-protected-files.d.ts +0 -1
- package/dist/lib/long-task-protected-files.js +0 -1
- package/dist/lib/long-task-required-proof-surfaces.d.ts +0 -2
- package/dist/lib/long-task-required-proof-surfaces.js +0 -13
- package/dist/lib/long-task-requirement-shape.d.ts +0 -2
- package/dist/lib/long-task-requirement-shape.js +0 -21
- package/dist/lib/long-task-risk-surfaces.d.ts +0 -2
- package/dist/lib/long-task-risk-surfaces.js +0 -60
- package/dist/lib/long-task-risk-types.d.ts +0 -5
- package/dist/lib/long-task-risk-types.js +0 -12
- package/dist/lib/long-task-risk.d.ts +0 -9
- package/dist/lib/long-task-risk.js +0 -137
- package/dist/lib/long-task-root-shape.d.ts +0 -5
- package/dist/lib/long-task-root-shape.js +0 -182
- package/dist/lib/long-task-runner-environment.d.ts +0 -7
- package/dist/lib/long-task-runner-environment.js +0 -57
- package/dist/lib/long-task-runner-files.d.ts +0 -3
- package/dist/lib/long-task-runner-files.js +0 -39
- package/dist/lib/long-task-runner-freeze.d.ts +0 -4
- package/dist/lib/long-task-runner-freeze.js +0 -303
- package/dist/lib/long-task-runtime-types.d.ts +0 -352
- package/dist/lib/long-task-runtime-types.js +0 -1
- package/dist/lib/long-task-scoped-binding.d.ts +0 -13
- package/dist/lib/long-task-scoped-binding.js +0 -11
- package/dist/lib/long-task-semantic-assurance-policy.d.ts +0 -4
- package/dist/lib/long-task-semantic-assurance-policy.js +0 -52
- package/dist/lib/long-task-semantic-contract-types.d.ts +0 -54
- package/dist/lib/long-task-semantic-contract-types.js +0 -1
- package/dist/lib/long-task-semantic-drift-migration.d.ts +0 -3
- package/dist/lib/long-task-semantic-drift-migration.js +0 -104
- package/dist/lib/long-task-semantic-fact-binding-types.d.ts +0 -65
- package/dist/lib/long-task-semantic-fact-binding-types.js +0 -1
- package/dist/lib/long-task-semantic-fact-closure-primitives.d.ts +0 -5
- package/dist/lib/long-task-semantic-fact-closure-primitives.js +0 -43
- package/dist/lib/long-task-semantic-fact-closure.d.ts +0 -13
- package/dist/lib/long-task-semantic-fact-closure.js +0 -51
- package/dist/lib/long-task-semantic-fact-contract-closure.d.ts +0 -4
- package/dist/lib/long-task-semantic-fact-contract-closure.js +0 -36
- package/dist/lib/long-task-semantic-fact-contract-facts.d.ts +0 -4
- package/dist/lib/long-task-semantic-fact-contract-facts.js +0 -33
- package/dist/lib/long-task-semantic-fact-contract-proofs.d.ts +0 -4
- package/dist/lib/long-task-semantic-fact-contract-proofs.js +0 -106
- package/dist/lib/long-task-semantic-fact-evidence.d.ts +0 -25
- package/dist/lib/long-task-semantic-fact-evidence.js +0 -225
- package/dist/lib/long-task-semantic-fact-input-closure.d.ts +0 -4
- package/dist/lib/long-task-semantic-fact-input-closure.js +0 -101
- package/dist/lib/long-task-semantic-fact-provenance-closure.d.ts +0 -4
- package/dist/lib/long-task-semantic-fact-provenance-closure.js +0 -140
- package/dist/lib/long-task-semantic-fact-shape.d.ts +0 -3
- package/dist/lib/long-task-semantic-fact-shape.js +0 -100
- package/dist/lib/long-task-semantic-fact-value-closure.d.ts +0 -3
- package/dist/lib/long-task-semantic-fact-value-closure.js +0 -110
- package/dist/lib/long-task-semantic-mutation.d.ts +0 -7
- package/dist/lib/long-task-semantic-mutation.js +0 -81
- package/dist/lib/long-task-shape-primitives.d.ts +0 -21
- package/dist/lib/long-task-shape-primitives.js +0 -116
- package/dist/lib/long-task-source-authority-types.d.ts +0 -15
- package/dist/lib/long-task-source-authority-types.js +0 -1
- package/dist/lib/long-task-source-claim-validation.d.ts +0 -5
- package/dist/lib/long-task-source-claim-validation.js +0 -99
- package/dist/lib/long-task-source-continuity.d.ts +0 -4
- package/dist/lib/long-task-source-continuity.js +0 -57
- package/dist/lib/long-task-source-inventory.d.ts +0 -2
- package/dist/lib/long-task-source-inventory.js +0 -21
- package/dist/lib/long-task-source-item-parser.d.ts +0 -11
- package/dist/lib/long-task-source-item-parser.js +0 -108
- package/dist/lib/long-task-source-markers.d.ts +0 -12
- package/dist/lib/long-task-source-markers.js +0 -146
- package/dist/lib/long-task-source-owned-sections.d.ts +0 -29
- package/dist/lib/long-task-source-owned-sections.js +0 -90
- package/dist/lib/long-task-source-shape.d.ts +0 -2
- package/dist/lib/long-task-source-shape.js +0 -56
- package/dist/lib/long-task-source-target-continuity.d.ts +0 -4
- package/dist/lib/long-task-source-target-continuity.js +0 -141
- package/dist/lib/long-task-source-target-index.d.ts +0 -15
- package/dist/lib/long-task-source-target-index.js +0 -91
- package/dist/lib/long-task-source-validation.d.ts +0 -3
- package/dist/lib/long-task-source-validation.js +0 -46
- package/dist/lib/long-task-stage-policy.d.ts +0 -4
- package/dist/lib/long-task-stage-policy.js +0 -126
- package/dist/lib/long-task-state.d.ts +0 -79
- package/dist/lib/long-task-state.js +0 -611
- package/dist/lib/long-task-static-observation-freeze.d.ts +0 -83
- package/dist/lib/long-task-static-observation-freeze.js +0 -428
- package/dist/lib/long-task-status-projection.d.ts +0 -24
- package/dist/lib/long-task-status-projection.js +0 -180
- package/dist/lib/long-task-status-v2.d.ts +0 -57
- package/dist/lib/long-task-status-v2.js +0 -351
- package/dist/lib/long-task-target-policy.d.ts +0 -6
- package/dist/lib/long-task-target-policy.js +0 -150
- package/dist/lib/long-task-technical-shape.d.ts +0 -3
- package/dist/lib/long-task-technical-shape.js +0 -44
- package/dist/lib/long-task-ui-design-policy.d.ts +0 -17
- package/dist/lib/long-task-ui-design-policy.js +0 -225
- package/dist/lib/long-task-ui-surface-policy.d.ts +0 -5
- package/dist/lib/long-task-ui-surface-policy.js +0 -112
- package/dist/lib/long-task-ui-surface-shape.d.ts +0 -2
- package/dist/lib/long-task-ui-surface-shape.js +0 -402
- package/dist/lib/long-task-ui-surface-types.d.ts +0 -134
- package/dist/lib/long-task-ui-surface-types.js +0 -1
- package/dist/lib/long-task-ui-surface-validation.d.ts +0 -13
- package/dist/lib/long-task-ui-surface-validation.js +0 -62
- package/dist/lib/long-task-verification-preview.d.ts +0 -65
- package/dist/lib/long-task-verification-preview.js +0 -120
- package/dist/lib/long-task-verifier-authority.d.ts +0 -12
- package/dist/lib/long-task-verifier-authority.js +0 -49
- package/dist/lib/long-task-verifier-dependency-closure.d.ts +0 -3
- package/dist/lib/long-task-verifier-dependency-closure.js +0 -183
- package/dist/lib/long-task-verifier-identity.d.ts +0 -2
- package/dist/lib/long-task-verifier-identity.js +0 -55
- package/dist/lib/long-task-verifier-v2.d.ts +0 -17
- package/dist/lib/long-task-verifier-v2.js +0 -330
- package/dist/lib/long-task-worker-selection.d.ts +0 -2
- package/dist/lib/long-task-worker-selection.js +0 -7
- package/dist/lib/long-task-workspace-manifest.d.ts +0 -8
- package/dist/lib/long-task-workspace-manifest.js +0 -173
- package/dist/lib/long-task-workspace-runtime-types.d.ts +0 -23
- package/dist/lib/long-task-workspace-runtime-types.js +0 -1
- package/dist/lib/long-task-workspace-scope.d.ts +0 -38
- package/dist/lib/long-task-workspace-scope.js +0 -123
- package/dist/lib/long-task-workspace-snapshot.d.ts +0 -8
- package/dist/lib/long-task-workspace-snapshot.js +0 -176
- package/dist/lib/long-task-workspace.d.ts +0 -5
- package/dist/lib/long-task-workspace.js +0 -4
- package/dist/lib/modularity-capability-migration.d.ts +0 -2
- package/dist/lib/modularity-capability-migration.js +0 -165
- package/dist/lib/modularity-python.d.ts +0 -7
- package/dist/lib/modularity-python.js +0 -191
- package/dist/lib/modularity.d.ts +0 -60
- package/dist/lib/modularity.js +0 -781
- package/dist/lib/profiles.d.ts +0 -13
- package/dist/lib/profiles.js +0 -65
- package/dist/lib/semantic-fact-base-types.d.ts +0 -14
- package/dist/lib/semantic-fact-base-types.js +0 -1
- package/dist/lib/semantic-fact-catalog.d.ts +0 -8
- package/dist/lib/semantic-fact-catalog.js +0 -191
- package/dist/lib/semantic-fact-compact-authoring.d.ts +0 -2
- package/dist/lib/semantic-fact-compact-authoring.js +0 -160
- package/dist/lib/semantic-fact-compact-capacity.d.ts +0 -9
- package/dist/lib/semantic-fact-compact-capacity.js +0 -40
- package/dist/lib/semantic-fact-compact-carrier.d.ts +0 -16
- package/dist/lib/semantic-fact-compact-carrier.js +0 -146
- package/dist/lib/semantic-fact-compact-parser.d.ts +0 -17
- package/dist/lib/semantic-fact-compact-parser.js +0 -168
- package/dist/lib/semantic-fact-compact-revision.d.ts +0 -11
- package/dist/lib/semantic-fact-compact-revision.js +0 -64
- package/dist/lib/semantic-fact-compact-support.d.ts +0 -23
- package/dist/lib/semantic-fact-compact-support.js +0 -159
- package/dist/lib/semantic-fact-condition-shape.d.ts +0 -48
- package/dist/lib/semantic-fact-condition-shape.js +0 -111
- package/dist/lib/semantic-fact-input-shape.d.ts +0 -34
- package/dist/lib/semantic-fact-input-shape.js +0 -111
- package/dist/lib/semantic-fact-inventory-types.d.ts +0 -147
- package/dist/lib/semantic-fact-inventory-types.js +0 -1
- package/dist/lib/semantic-fact-manifest-shape.d.ts +0 -4
- package/dist/lib/semantic-fact-manifest-shape.js +0 -135
- package/dist/lib/semantic-fact-manifest-types.d.ts +0 -58
- package/dist/lib/semantic-fact-manifest-types.js +0 -19
- package/dist/lib/semantic-fact-policy-authority.d.ts +0 -8
- package/dist/lib/semantic-fact-policy-authority.js +0 -79
- package/dist/lib/semantic-fact-policy-census.d.ts +0 -3
- package/dist/lib/semantic-fact-policy-census.js +0 -123
- package/dist/lib/semantic-fact-policy-condition-references.d.ts +0 -7
- package/dist/lib/semantic-fact-policy-condition-references.js +0 -19
- package/dist/lib/semantic-fact-policy-conditions.d.ts +0 -2
- package/dist/lib/semantic-fact-policy-conditions.js +0 -105
- package/dist/lib/semantic-fact-policy-facts.d.ts +0 -3
- package/dist/lib/semantic-fact-policy-facts.js +0 -73
- package/dist/lib/semantic-fact-policy-primitives.d.ts +0 -26
- package/dist/lib/semantic-fact-policy-primitives.js +0 -169
- package/dist/lib/semantic-fact-policy-proofs.d.ts +0 -2
- package/dist/lib/semantic-fact-policy-proofs.js +0 -75
- package/dist/lib/semantic-fact-policy-properties.d.ts +0 -3
- package/dist/lib/semantic-fact-policy-properties.js +0 -84
- package/dist/lib/semantic-fact-policy-units.d.ts +0 -4
- package/dist/lib/semantic-fact-policy-units.js +0 -103
- package/dist/lib/semantic-fact-policy.d.ts +0 -17
- package/dist/lib/semantic-fact-policy.js +0 -41
- package/dist/lib/semantic-fact-proof-shape.d.ts +0 -51
- package/dist/lib/semantic-fact-proof-shape.js +0 -121
- package/dist/lib/semantic-fact-proof-types.d.ts +0 -74
- package/dist/lib/semantic-fact-proof-types.js +0 -1
- package/dist/lib/semantic-fact-property-shape.d.ts +0 -29
- package/dist/lib/semantic-fact-property-shape.js +0 -77
- package/dist/lib/semantic-fact-shape-constants.d.ts +0 -3
- package/dist/lib/semantic-fact-shape-constants.js +0 -38
- package/dist/lib/semantic-fact-shape-primitives.d.ts +0 -15
- package/dist/lib/semantic-fact-shape-primitives.js +0 -68
- package/dist/lib/semantic-fact-source-parser.d.ts +0 -14
- package/dist/lib/semantic-fact-source-parser.js +0 -87
- package/dist/lib/semantic-fact-support-shape.d.ts +0 -21
- package/dist/lib/semantic-fact-support-shape.js +0 -59
- package/dist/lib/semantic-fact-types.d.ts +0 -5
- package/dist/lib/semantic-fact-types.js +0 -5
- package/dist/lib/semantic-fact-unit-shape.d.ts +0 -34
- package/dist/lib/semantic-fact-unit-shape.js +0 -89
- package/dist/lib/semantic-fact-value-shape.d.ts +0 -12
- package/dist/lib/semantic-fact-value-shape.js +0 -39
- package/dist/lib/source-line-scanner.d.ts +0 -3
- package/dist/lib/source-line-scanner.js +0 -42
- package/dist/lib/stable-json.d.ts +0 -2
- package/dist/lib/stable-json.js +0 -21
- package/dist/lib/structural-closure-cost.d.ts +0 -79
- package/dist/lib/structural-closure-cost.js +0 -91
- package/dist/lib/symbolic-denotation-dag-builder.d.ts +0 -25
- package/dist/lib/symbolic-denotation-dag-builder.js +0 -176
- package/dist/lib/symbolic-denotation-domain-validation.d.ts +0 -3
- package/dist/lib/symbolic-denotation-domain-validation.js +0 -56
- package/dist/lib/symbolic-denotation-engine.d.ts +0 -32
- package/dist/lib/symbolic-denotation-engine.js +0 -140
- package/dist/lib/symbolic-denotation-public.d.ts +0 -11
- package/dist/lib/symbolic-denotation-public.js +0 -12
- package/dist/lib/symbolic-denotation-runtime.d.ts +0 -20
- package/dist/lib/symbolic-denotation-runtime.js +0 -90
- package/dist/lib/symbolic-denotation-support.d.ts +0 -11
- package/dist/lib/symbolic-denotation-support.js +0 -49
- package/dist/lib/symbolic-denotation-types.d.ts +0 -133
- package/dist/lib/symbolic-denotation-types.js +0 -18
- package/dist/lib/symbolic-denotation-validation.d.ts +0 -6
- package/dist/lib/symbolic-denotation-validation.js +0 -126
- package/dist/long-task-hook.d.ts +0 -2
- package/dist/long-task-hook.js +0 -103
- package/dist/schemas/design-resource-symbolic-noninterference-artifact-v2.schema.json +0 -289
- package/dist/schemas/design-resource-symbolic-source-ir-v1.schema.json +0 -130
- package/dist/schemas/long-task-delivery-v2/long-task-delivery-v2.schema.json +0 -2190
- package/dist/schemas/long-task-delivery-v2/long-task-outcomes-v2.schema.json +0 -18
- /package/dist/lib/{compact-shared-structure-types.js → context-catalog/catalog-types.js} +0 -0
- /package/dist/lib/{design-resource-fact-types.js → context-create/context-create-types.js} +0 -0
- /package/dist/lib/{design-resource-handoff-input-types.js → context-inspect/context-inspect-types.js} +0 -0
- /package/dist/lib/{design-resource-reconciliation-types.js → context-markdown/context-markdown-types.js} +0 -0
- /package/dist/lib/{design-resource-recovery-patch-types.js → context-move/context-move-types.js} +0 -0
- /package/dist/lib/{design-resource-recovery-types.js → context-mutation/mutation-types.js} +0 -0
- /package/dist/lib/{design-resource-symbolic-fact-types.js → context-register/context-register-types.js} +0 -0
- /package/dist/lib/{long-task-git.d.ts → git.d.ts} +0 -0
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
# Source-Bound Draft Input Reference
|
|
2
|
-
|
|
3
|
-
Read this alongside `contract-authoring.md` when raw, mixed, attachment-heavy or incomplete inputs need Source-quality repair while the same Contract Draft is being mapped. Inputs enter the Draft immediately; this reference is neither an earlier Source-authoring phase nor a standalone intermediary planning stage or second lifecycle.
|
|
4
|
-
|
|
5
|
-
## Objective and boundary
|
|
6
|
-
|
|
7
|
-
Preserve every material user, product, technical, visual and acceptance constraint from the initial/revised proposal and supplied resources. Add only traceable necessary derivations, defensible delegated choices and evidence-backed repository facts. Make the real Source understandable without the original conversation before Preflight/Compile, while allowing Draft decomposition and repository binding to proceed incrementally.
|
|
8
|
-
|
|
9
|
-
Do not create an intermediary planning schema, CLI, Preflight, Compile, Receipt, cache, authority, state or internal Source-authoring stage. Contract YAML cannot become the sole owner of a choice or missing semantic. Do not let current implementation silently redefine intent. A pre-existing planning or proposal document is simply one possible input.
|
|
10
|
-
|
|
11
|
-
## Input inventory
|
|
12
|
-
|
|
13
|
-
1. Assign every proposal, selected design resource, screenshot, document, diagram, table and other attachment a stable input ID.
|
|
14
|
-
2. Inspect all pages/frames/screens/tables/visible states; never silently sample a multi-part artifact. Every non-empty line in a declared Markdown Source file must ultimately belong to exactly one Material Source Item, one keyed and reasoned non-authoritative `ty-source-background:start/end` block, or the one validated `design-resource-handoff-v1` formal block.
|
|
15
|
-
3. Classify each input as user instruction, product requirement, technical constraint, existing proposal, selected target, repository/Context evidence, constraint, inspiration or background. Background is a closed grammar: `markdown-structure` contains only text-free anchors or horizontal rules, and `provenance` contains only `ty-source-provenance input=<key> mode=<direct|derived|delegated|evidence-backed> [source=<key>] [sha256=<64-lowercase-hex>]` comments; non-direct modes require `source`. Text-bearing headings, free-form provenance and explanatory prose are material or unclassified even when intended as non-authoritative; background must never hide a qualifier, requirement, acceptance fact, architecture meaning, design meaning or other delivery authority.
|
|
16
|
-
4. For visual resources, preserve selection basis, classification (`exact-target`, `constraint` or `inspiration`), stable resource/surface/control/state/target keys, declared platform/viewport/mode/state/content applicability, source profile/canonical entry/dependency set, provider/project/run/entry provenance and immutable digest/snapshot, plus typed locators. A mutable link, metadata-only response, partial file set or prose locator is incomplete. Unselected candidates authorize no fidelity.
|
|
17
|
-
5. Record incorporated meaning and every unreadable, conflicting or intentionally unused part. Higher authority and user-stated precedence win; unresolved conflicts remain decisions.
|
|
18
|
-
|
|
19
|
-
## Preference and research gate
|
|
20
|
-
|
|
21
|
-
Before comparative research or a material product, technical, architecture or provider selection, identify decision-changing criteria such as fidelity versus cost, delivery speed, reliability/support, privacy/compliance, lock-in/control, operational burden, platform scope and extensibility.
|
|
22
|
-
|
|
23
|
-
Infer preferences only from user words, Source, Context or controlling constraints. If an unknown preference would materially change research or recommendation, ask one concise targeted clarification before proceeding. Do not impose a questionnaire, re-ask known preferences or pause for minor reversible choices with the same defensible recommendation.
|
|
24
|
-
|
|
25
|
-
Use current primary/authoritative evidence for changing external facts. Record source, scope and retrieval date. Preference clarification authorizes plan meaning, not payment, contracting, deployment/publication, destructive production mutation, permission grants, sensitive-data transmission or required legal/security/human approval; those remain typed external confirmations.
|
|
26
|
-
|
|
27
|
-
## Working strategies, not phases
|
|
28
|
-
|
|
29
|
-
Choose locally as needed while revising the same Draft; do not expose these as lifecycle stages or ask the user to choose:
|
|
30
|
-
|
|
31
|
-
- **refinement:** preserve and complete a substantially developed proposal;
|
|
32
|
-
- **synthesis:** build coherent Source from a goal plus mixed inputs;
|
|
33
|
-
- **hybrid:** use one proposal as backbone and fill gaps from other inputs.
|
|
34
|
-
|
|
35
|
-
A short request is sufficient when roles, goal and reference authority are recoverable. Reuse an authorized writable proposal as the real Source. If the delivery exists only in conversation, materialize exactly one project-native Markdown Source according to repository convention. Do not create a parallel planning artifact.
|
|
36
|
-
|
|
37
|
-
## Semantic authoring
|
|
38
|
-
|
|
39
|
-
For every material item, preserve one origin:
|
|
40
|
-
|
|
41
|
-
- `direct`: stated by user or controlling input, with all qualifiers;
|
|
42
|
-
- `derived`: unavoidable for completeness/falsifiability, identifies `Derived From`, states why necessary and changes no user capability, business rule or scope;
|
|
43
|
-
- `delegated`: a defensible choice requested by instructions to synthesize/refine/use judgment, records `Delegated By`, preference/evidence basis and exact added meaning;
|
|
44
|
-
- `evidence-backed`: repository/Context fact with exact source and no promotion of incidental code shape to product intent;
|
|
45
|
-
- `decision_required`: conflicting authority, explicitly user-reserved choice, missing material preference or no defensible recommendation.
|
|
46
|
-
|
|
47
|
-
High impact or several options is not itself a reason to pause when criteria support one recommendation. Keep real high-risk actions as external confirmations. Never introduce a requirement for the first time only inside acceptance criteria.
|
|
48
|
-
|
|
49
|
-
## Structure and stable keys
|
|
50
|
-
|
|
51
|
-
Use stable semantic lowercase-kebab keys and Markdown anchors where practical. Preserve keys when wording changes but meaning does not; never renumber for ordering or reuse a retired key for new meaning.
|
|
52
|
-
|
|
53
|
-
Define vertical Outcomes only when observable results are independently decidable and later verifiable. Do not split by response length, frontend/backend layer, module count, agent capacity or desired parallelism; do not merge distinct results merely for brevity.
|
|
54
|
-
|
|
55
|
-
Use only applicable semantic types:
|
|
56
|
-
|
|
57
|
-
- result/Outcome;
|
|
58
|
-
- Requirement (`REQ`);
|
|
59
|
-
- user-visible Control (`CTRL`);
|
|
60
|
-
- technical obligation (`OBL`);
|
|
61
|
-
- explicitly non-completing meaning (`NCOMP`);
|
|
62
|
-
- acceptance scenario (`AC`);
|
|
63
|
-
- global non-goal/constraint and forbidden shortcut;
|
|
64
|
-
- risk with exact Fact, Affected Outcome, Basis and Consequence;
|
|
65
|
-
- external confirmation (`EXT`);
|
|
66
|
-
- genuine decision (`DEC`);
|
|
67
|
-
- advisory implementation hint (`HINT`), which is not a material requirement.
|
|
68
|
-
|
|
69
|
-
## Non-UI semantic completeness
|
|
70
|
-
|
|
71
|
-
For every non-UI delivery, the authoring default is the finest independently decidable semantic Fact supported by direct Source, necessary logical derivation, explicit delegation or evidence-backed preservation. Do not stop at prose paragraphs, Requirements, Product Controls, user stories, broad acceptance scenarios, an `all-states`/`all-errors` catalogue or whatever fields current code happens to expose.
|
|
72
|
-
|
|
73
|
-
Before implementation and formal Compile:
|
|
74
|
-
|
|
75
|
-
1. Inventory every material request fragment, attachment, controlling Context unit, canonical schema/specification, selected external constraint, repository-preservation source and delegated instruction with stable identity, digest, disposition and basis. Ordinary Material Source is `non_ui_material` and must contribute Fact lineage. A validated design handoff may classify its independently closed visual facts as `ui_design`; `supporting_only` and `excluded_by_scope` need exact rationale/basis and cannot hide a requirement.
|
|
76
|
-
2. Explicitly disposition every standard semantic family for every Outcome and add custom families discovered from Source/repository/domain structure. The standard floor covers goal/scope/glossary; actors/roles/tenants/entitlements; business rules/calculations; data; operations/workflows/state/time; validation/output/error/API/protocol/event/job; persistence/cache/search/transactions/consistency/concurrency/idempotency; fault/retry/degradation/recovery/backup; configuration/flags/secrets; compatibility/migration/rollout; performance/capacity/cost/reliability/SLO; security/privacy/safety/compliance; observability/deployment/operations; integrations/notification/file/media/localization/commercial; hardware; AI/ML; architecture ownership/boundaries/debt.
|
|
77
|
-
3. Give every applicable outcome, actor, policy, entity/field/relation, operation, state/transition, interface/message/job, store/index/transaction/cache, configuration/migration/deployment/dependency, security/privacy boundary, SLO/signal/alert/runbook, device/AI/custom unit a stable subject/relation/population identity. Preserve hierarchy, owner, cardinality, causality, ordering, producer/consumer, source-of-truth and dependency relations. Static/dynamic populations need exact universe/partition/enumeration/exclusion identity.
|
|
78
|
-
4. Disposition every standard and custom condition axis. Enumerate each atomic applicable value and exact combination across actors/roles/tenants/jurisdictions/environments/regions/platforms/versions/features/configuration/entitlements/permissions/consent/sessions/states/input/boundary/data volume/locale/time/concurrency/repetition/dependency health/connectivity/failure/retry/consistency/freshness/migration/rollout/topology/threat/mode. Continuous domains use explicit ranges/boundaries; invariance/equivalence may share execution only while retaining distinct Fact identity and verdict. No aggregate, representative, pairwise or default-path substitute.
|
|
79
|
-
5. Disposition every standard and custom atomic property per unit and condition. One specified cell creates one Fact with typed value semantics, exact Source locator/digest, owner, quantifier, observation boundary, sensitivity and provenance. Every N/A/exclusion names exact affected identities, basis and rationale; `decision_required`, `unavailable`, unreadable or conflicting meaning remains blocking.
|
|
80
|
-
6. Expand every Fact into all required proof methods—exact/schema/decision-table/formula/invariant/transition/sequence/durable roundtrip/boundary/external effect/population/concurrency/idempotency/fault/recovery/migration/compatibility/performance/capacity/security/privacy/audit/observability/deployment/structure or custom TCB method. Freeze comparator, parameters, tolerance/mask, Oracle identity/capability, environment, observer and protected-value policy. Reach the furthest independently failing boundary; request issuance, parser success, self-reported success, artifact existence or a nearer proxy does not prove downstream persistence/effect/recovery.
|
|
81
|
-
7. Embed one complete `semantic-fact-manifest-v1` in declared Source. Its Inspector Census and collection counts/identity digests prove deterministic complete generation with no truncation or sampling. Require `Expected Semantic Facts = Source Indexed Facts`; later Contract authoring requires exact Fact and Fact×method projection. Values remain in Source/Context; Contract receives identities, located digests and comparison authority only.
|
|
82
|
-
|
|
83
|
-
This expansion cannot invent a real product/legal/security/commercial/safety choice. A defensible delegated choice must first become traceable Material Source; an unsupported or user-reserved choice remains a blocker or typed External Confirmation. The named Inspector/Oracle is an explicit trusted-computing boundary, and custom extensions are mandatory when the standard catalog cannot observe the domain.
|
|
84
|
-
|
|
85
|
-
## UI and control completeness
|
|
86
|
-
|
|
87
|
-
For each in-scope surface, record purpose, entry/exit/navigation, regions/overlays and included Control keys. For every real material interactive Control, close every canonical field independently:
|
|
88
|
-
|
|
89
|
-
`surface`, `region`, `location`, `control type`, `label/content`, `user task`, `visibility`, `availability`, `trigger`, `input`, `validation`, `default`, `interaction`, `navigation/result`, `loading`, `empty`, `success`, `failure`, `recovery`, `permission`, `feedback` and `accessibility`.
|
|
90
|
-
|
|
91
|
-
For each field record concrete `specified` meaning, an explicit justified `not_applicable` statement, or blocking `unresolved`; omission is not non-applicability. Also preserve every material cross-Control and system relation—including shared state, ordering/dependency, mutual exclusion, navigation, permission, recovery, validation and feedback chains—and explicitly close the Outcome as `not_applicable` only when no such relation exists. Each specified or not-applicable fact, including relation closure, must name its actual target, atomic condition/input/state dimensions and Given/When journey applicability.
|
|
92
|
-
|
|
93
|
-
Do not invent controls for a non-interface delivery. A coarse frame or configured design system does not supply unshown states. Selected design resources and product/technical Source remain parallel: visuals cannot invent business/data/permission/algorithmic rules.
|
|
94
|
-
|
|
95
|
-
For every selected exact/constraint target, preserve the declared platform/viewport/mode/state/content conditions and identify which surface and Control keys it governs. A formal Web/App handoff also preserves its canonical Fact-manifest identity, frozen Inspector/Census and the exact handoff projection of condition axes/combinations, subject hierarchy, subject-local variations, atomic properties, Fact Cells/Facts, proof obligations, Oracles/environments, design-system lineage, assets and blockers. Product Controls and eight UI/UX dimensions are semantic/roll-up owners, not the Fact ceiling. Do not collapse a component instance or Anatomy Part into its family, several states into `all-states`, several conditions into one label, or several property/method obligations into one broad visual claim. Canonical resources retain exact values; Source and Contract retain stable Fact identities and located-digest/comparison authority rather than copied CSS.
|
|
96
|
-
|
|
97
|
-
Before Compile, confirm the formal handoff already proves `Expected Fact Universe = Canonical Resource Facts = Handoff Indexed Facts`, including explicit N/A/exclusion basis and non-sampling/non-truncation. Each covered Fact has all property-required verification methods, and each exact target condition has full-target layout and pixel Facts. Separately record any design-resource acceptance blocker supplied by the Source, including its exact Source items, verification methods and non-empty runtime-observation `required_capabilities`. Do not weaken a physical-device, sensor, camera, orientation, haptic, assistive-technology, pixel-density, safe-area or other target-local need into a generic browser/runtime label merely because the proxy is available. File identity, hashes, provider/export success, registry membership, Census counts and preflight are integrity/input-closure facts only; they do not state that a production owner, real-user journey or rendered interaction conforms.
|
|
98
|
-
|
|
99
|
-
## Acceptance and risk
|
|
100
|
-
|
|
101
|
-
Each AC has exactly one Given/When/Then scenario, names the REQ/CTRL/OBL/NCOMP meaning it accepts and introduces no undeclared product semantics. Keep representative/sample/framework checks distinct from full-population claims and partial delivery distinct from completion.
|
|
102
|
-
|
|
103
|
-
Use the Runtime's exact risk Fact names when marking risk. Data migration is `data_migration`; a weakly observable critical path is separate `critical_user_path` and `weak_observability` facts; preserve `multi_repository_change` in Source so Contract compilation can reject unsupported delivery honestly.
|
|
104
|
-
|
|
105
|
-
## Preflight/Compile convergence audit
|
|
106
|
-
|
|
107
|
-
Before Preflight/Compile confirm:
|
|
108
|
-
|
|
109
|
-
1. Every material original statement and qualifier is preserved.
|
|
110
|
-
2. Every supplied input is incorporated or has an explicit unreadable/unused/conflict disposition, and every non-empty Source line is owned by a Material Item, closed-grammar structure/provenance background block or validated formal block.
|
|
111
|
-
3. Distinct requirements and independently decidable Outcomes were not collapsed.
|
|
112
|
-
4. Every real Control has all 22 canonical fields closed as specified, justified not applicable or unresolved; every material cross-Control/shared-state/navigation/permission/recovery relation is specified or the Outcome explicitly declares that no such relation exists.
|
|
113
|
-
5. Every REQ, specified/not-applicable CTRL field and Control relation has exact applicability plus acceptance, external confirmation, decision or explicit exception; unresolved coverage blocks.
|
|
114
|
-
6. Derived/delegated/evidence-backed items have traceable basis and no hidden product expansion.
|
|
115
|
-
7. Non-goals, forbidden shortcuts, risks and recovery are concrete.
|
|
116
|
-
8. No unsupported number, threshold, metric or external claim appears.
|
|
117
|
-
9. Selected design resources retain stable identity and exact declared coverage; formal Web/App handoffs retain manifest-backed atomic Fact/proof universes with no aggregate, sampled or truncated coverage; candidates remain non-authoritative.
|
|
118
|
-
10. Every material UI Fact and Control can be mapped to a production target/owner, real-user entry journey and independently attributable acceptance route, while every declared design blocker has an explicit machine or target-blocking external-confirmation disposition. Removing one from scope requires an explicit Source revision; Contract prose cannot waive it.
|
|
119
|
-
11. The Source is self-contained enough to own every mapped Draft semantic and names every still-required external artifact.
|
|
120
|
-
12. At least one marked `technical_obligation` carries `aspect=architecture`, preserves the selected owner/dependency/debt conclusion, and maps to an independently falsifiable architecture obligation rather than only a Result Claim.
|
|
121
|
-
13. The one `semantic-fact-manifest-v1` exactly inventories all material non-UI inputs and complete standard/custom family, unit/relation/population, condition, property, Fact and proof-obligation universes; every ordinary Material Source Item contributes exact Fact lineage, all generation collections have complete count/digest closure, and no aggregate/sample/ungrounded N/A/unresolved row is hidden.
|
|
122
|
-
|
|
123
|
-
Complete non-rendering `ty-source-item:start/end` markers in the real Markdown Source without rewriting direct text, wrap only recognized Markdown structure or structured provenance in uniquely keyed and reasoned `ty-source-background:start/end` blocks, retain at most one schema-valid `design-resource-handoff-v1` formal block, and finish the corresponding Contract mapping in the same loop. Unclassified text, arbitrary prose inside background, a background block used to hide material meaning, unresolved Control coverage or missing applicability blocks Preflight/Compile. Neither markers nor this audit delay opening the Draft.
|
|
@@ -1,442 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""Standalone Minimal Context validator installed with the portable profile."""
|
|
3
|
-
|
|
4
|
-
from pathlib import Path, PureWindowsPath
|
|
5
|
-
import json
|
|
6
|
-
import re
|
|
7
|
-
import subprocess
|
|
8
|
-
import sys
|
|
9
|
-
|
|
10
|
-
try:
|
|
11
|
-
import tomllib
|
|
12
|
-
except ImportError: # Python 3.10 compatibility; Node is already required by ty-context.
|
|
13
|
-
tomllib = None
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
ROOT = Path.cwd().resolve()
|
|
17
|
-
CONTEXT_ROOT = ROOT / "project_context"
|
|
18
|
-
|
|
19
|
-
GLOBAL_CHECKS = [
|
|
20
|
-
("project goal", ["project goal", "项目目标", "目标"]),
|
|
21
|
-
("boundaries", ["non-goals", "boundaries", "非目标", "边界"]),
|
|
22
|
-
("design rationale", ["design rationale", "设计思路", "设计原因"]),
|
|
23
|
-
("architecture context", ["architecture context", "架构上下文", "architecture.md"]),
|
|
24
|
-
("verification entry points", ["verification entry", "验证入口", "测试入口"]),
|
|
25
|
-
("current state", ["current state", "当前状态"]),
|
|
26
|
-
("next safe action", ["next safe action", "下一步安全动作"]),
|
|
27
|
-
("context index", ["context index", "module index", "上下文索引", "模块索引"]),
|
|
28
|
-
]
|
|
29
|
-
|
|
30
|
-
ARCHITECTURE_CHECKS = [
|
|
31
|
-
("system boundary", ["system boundary", "系统边界", "边界"]),
|
|
32
|
-
("component map", ["component map", "组件", "模块关系"]),
|
|
33
|
-
("data or control flow", ["data / control flow", "data flow", "control flow", "数据流", "控制流"]),
|
|
34
|
-
("design rationale", ["design rationale", "设计思路", "设计原因"]),
|
|
35
|
-
("verification implications", ["verification implications", "验证影响", "验证入口"]),
|
|
36
|
-
]
|
|
37
|
-
|
|
38
|
-
VALID_ROLES = {
|
|
39
|
-
"global",
|
|
40
|
-
"architecture",
|
|
41
|
-
"area",
|
|
42
|
-
"domain",
|
|
43
|
-
"subdomain",
|
|
44
|
-
"foundation",
|
|
45
|
-
"archive",
|
|
46
|
-
"contract",
|
|
47
|
-
"verification",
|
|
48
|
-
"deployment",
|
|
49
|
-
"implementation-index",
|
|
50
|
-
"decision-rationale",
|
|
51
|
-
}
|
|
52
|
-
ROLE_ALIASES = {
|
|
53
|
-
"implementation_index": "implementation-index",
|
|
54
|
-
"decision_rationale": "decision-rationale",
|
|
55
|
-
}
|
|
56
|
-
READ_POLICIES = {"default", "always", "optional", "on-demand", "never-default"}
|
|
57
|
-
TOP_LEVEL_FIELDS = {"areas", "context"}
|
|
58
|
-
AREA_FIELDS = {"id", "root", "context", "kind", "default", "forbidden_runtime_dependencies"}
|
|
59
|
-
CONTEXT_FIELDS = {"path", "role", "read_when", "read_policy", "triggers", "default_children"}
|
|
60
|
-
CONFIG_CANDIDATES = [
|
|
61
|
-
".agent/config.yaml",
|
|
62
|
-
".codex/config.yaml",
|
|
63
|
-
".harness/config.yaml",
|
|
64
|
-
".claude/config.yaml",
|
|
65
|
-
".cursor/config.yaml",
|
|
66
|
-
".cline/config.yaml",
|
|
67
|
-
".roo/config.yaml",
|
|
68
|
-
".gemini/config.yaml",
|
|
69
|
-
]
|
|
70
|
-
FAKE_VERIFICATION_PATTERNS = [
|
|
71
|
-
re.compile(r"\btests?\s+(?:pass(?:ed|es)?|green)\b", re.I),
|
|
72
|
-
re.compile(r"\bverified\b", re.I),
|
|
73
|
-
re.compile(r"\bdeployed\s+successfully\b", re.I),
|
|
74
|
-
re.compile(r"\bvalidation\s+passed\b", re.I),
|
|
75
|
-
re.compile(r"测试(?:已)?通过"),
|
|
76
|
-
re.compile(r"验证(?:已)?通过"),
|
|
77
|
-
re.compile(r"部署(?:已)?成功"),
|
|
78
|
-
]
|
|
79
|
-
PLACEHOLDER = re.compile(r"^(?:todo|tbd|placeholder|coming soon|待补充|占位|暂无)[.!。…\s-]*$", re.I)
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
def has_any(text, terms):
|
|
83
|
-
lower = text.lower()
|
|
84
|
-
return any(term.lower() in lower for term in terms)
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
def normalize_role(value):
|
|
88
|
-
role = ROLE_ALIASES.get(value.strip().lower(), value.strip().lower())
|
|
89
|
-
return role if role in VALID_ROLES else None
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
def normalize_context_path(value):
|
|
93
|
-
return value.replace("\\", "/").removeprefix("./")
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
def parse_front_matter(text):
|
|
97
|
-
lines = text.splitlines()
|
|
98
|
-
if not lines or lines[0].strip() != "---":
|
|
99
|
-
return {}
|
|
100
|
-
result = {}
|
|
101
|
-
for line in lines[1:]:
|
|
102
|
-
if line.strip() == "---":
|
|
103
|
-
return result
|
|
104
|
-
match = re.match(r"^([A-Za-z0-9_-]+):\s*(.+?)\s*$", line.strip())
|
|
105
|
-
if match:
|
|
106
|
-
result[match.group(1)] = match.group(2).strip().strip("\"'")
|
|
107
|
-
return result
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
def table_lines(content, table):
|
|
111
|
-
return [
|
|
112
|
-
index
|
|
113
|
-
for index, line in enumerate(content.splitlines(), start=1)
|
|
114
|
-
if line.strip() == f"[[{table}]]"
|
|
115
|
-
]
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
def parse_manifest(path, errors):
|
|
119
|
-
content = path.read_text(encoding="utf-8")
|
|
120
|
-
try:
|
|
121
|
-
parsed = parse_toml(content)
|
|
122
|
-
except (ValueError, RuntimeError) as error:
|
|
123
|
-
errors.append(f"project_context/context.toml is not valid TOML: {error}")
|
|
124
|
-
return {"areas": [], "context": []}
|
|
125
|
-
for key in parsed:
|
|
126
|
-
if key not in TOP_LEVEL_FIELDS:
|
|
127
|
-
errors.append(f"project_context/context.toml has unknown top-level field {key}")
|
|
128
|
-
manifest = {}
|
|
129
|
-
for table, allowed in (("areas", AREA_FIELDS), ("context", CONTEXT_FIELDS)):
|
|
130
|
-
entries = parsed.get(table, [])
|
|
131
|
-
if not isinstance(entries, list) or any(not isinstance(entry, dict) for entry in entries):
|
|
132
|
-
errors.append(f"project_context/context.toml field [[{table}]] must be an array of TOML tables")
|
|
133
|
-
entries = []
|
|
134
|
-
lines = table_lines(content, table)
|
|
135
|
-
manifest[table] = []
|
|
136
|
-
for index, raw in enumerate(entries):
|
|
137
|
-
entry = dict(raw)
|
|
138
|
-
entry["line"] = lines[index] if index < len(lines) else 1
|
|
139
|
-
for key in raw:
|
|
140
|
-
if key not in allowed:
|
|
141
|
-
errors.append(f"project_context/context.toml line {entry['line']} has unknown field {key}")
|
|
142
|
-
manifest[table].append(entry)
|
|
143
|
-
return manifest
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
def parse_toml(content):
|
|
147
|
-
if tomllib is not None:
|
|
148
|
-
try:
|
|
149
|
-
return tomllib.loads(content)
|
|
150
|
-
except tomllib.TOMLDecodeError as error:
|
|
151
|
-
raise ValueError(str(error)) from error
|
|
152
|
-
script = "import('smol-toml').then(({parse})=>{let s='';process.stdin.setEncoding('utf8');process.stdin.on('data',c=>s+=c);process.stdin.on('end',()=>process.stdout.write(JSON.stringify(parse(s))))}).catch(e=>{console.error(e.message);process.exit(1)})"
|
|
153
|
-
result = subprocess.run(
|
|
154
|
-
["node", "--input-type=module", "--eval", script],
|
|
155
|
-
input=content,
|
|
156
|
-
text=True,
|
|
157
|
-
capture_output=True,
|
|
158
|
-
cwd=ROOT,
|
|
159
|
-
check=False,
|
|
160
|
-
)
|
|
161
|
-
if result.returncode != 0:
|
|
162
|
-
raise RuntimeError(f"formal TOML parser unavailable: {result.stderr.strip()}")
|
|
163
|
-
return json.loads(result.stdout)
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
def required_string(entry, key, errors):
|
|
167
|
-
value = entry.get(key)
|
|
168
|
-
if not isinstance(value, str) or not value.strip():
|
|
169
|
-
errors.append(f"project_context/context.toml line {entry['line']} must include non-empty string field {key}")
|
|
170
|
-
return None
|
|
171
|
-
return value
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
def optional_string(entry, key, errors):
|
|
175
|
-
value = entry.get(key)
|
|
176
|
-
if value is None:
|
|
177
|
-
return None
|
|
178
|
-
if not isinstance(value, str) or not value.strip():
|
|
179
|
-
errors.append(f"project_context/context.toml line {entry['line']} field {key} must be a non-empty string")
|
|
180
|
-
return None
|
|
181
|
-
return value
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
def string_array(entry, key, errors):
|
|
185
|
-
value = entry.get(key, [])
|
|
186
|
-
if not isinstance(value, list) or any(not isinstance(item, str) or not item.strip() for item in value):
|
|
187
|
-
errors.append(f"project_context/context.toml line {entry['line']} {key} must be an array of non-empty strings")
|
|
188
|
-
return []
|
|
189
|
-
if len(value) != len(set(value)):
|
|
190
|
-
errors.append(f"project_context/context.toml line {entry['line']} {key} must not contain duplicates")
|
|
191
|
-
return value
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
def is_relative_to(target, root):
|
|
195
|
-
try:
|
|
196
|
-
target.relative_to(root)
|
|
197
|
-
return True
|
|
198
|
-
except ValueError:
|
|
199
|
-
return False
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
def safe_manifest_path(raw, allowed_root, label, expected, errors):
|
|
203
|
-
normalized = raw.replace("\\", "/")
|
|
204
|
-
if Path(raw).is_absolute() or PureWindowsPath(raw).is_absolute() or ".." in normalized.split("/"):
|
|
205
|
-
errors.append(f"project_context/context.toml {label} path must be relative and must not contain '..': {raw}")
|
|
206
|
-
return None
|
|
207
|
-
target = ROOT.joinpath(*normalized.split("/"))
|
|
208
|
-
if not target.exists():
|
|
209
|
-
errors.append(f"project_context/context.toml references missing {expected}: {normalized}")
|
|
210
|
-
return None
|
|
211
|
-
resolved_root = allowed_root.resolve()
|
|
212
|
-
resolved_target = target.resolve()
|
|
213
|
-
if not is_relative_to(resolved_target, resolved_root):
|
|
214
|
-
errors.append(f"project_context/context.toml {label} resolves outside its allowed root: {raw}")
|
|
215
|
-
return None
|
|
216
|
-
if expected == "context file" and not resolved_target.is_file():
|
|
217
|
-
errors.append(f"project_context/context.toml {label} must reference a regular file: {raw}")
|
|
218
|
-
return None
|
|
219
|
-
if expected == "area root" and not resolved_target.is_dir():
|
|
220
|
-
errors.append(f"project_context/context.toml {label} must reference a directory: {raw}")
|
|
221
|
-
return None
|
|
222
|
-
return resolved_target
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
def validate_manifest(errors):
|
|
226
|
-
manifest_path = CONTEXT_ROOT / "context.toml"
|
|
227
|
-
roles = {}
|
|
228
|
-
policies = {}
|
|
229
|
-
if not manifest_path.exists():
|
|
230
|
-
if schema_requires_manifest():
|
|
231
|
-
errors.append("missing project_context/context.toml; run ty-context upgrade to create the Schema v4 Context graph manifest")
|
|
232
|
-
return roles, policies
|
|
233
|
-
manifest = parse_manifest(manifest_path, errors)
|
|
234
|
-
areas = manifest["areas"]
|
|
235
|
-
contexts = manifest["context"]
|
|
236
|
-
if not areas:
|
|
237
|
-
errors.append("project_context/context.toml must declare at least one [[areas]] entry")
|
|
238
|
-
defaults = [entry for entry in areas if entry.get("default") is True]
|
|
239
|
-
if areas and len(defaults) != 1:
|
|
240
|
-
errors.append(f"project_context/context.toml must mark exactly one [[areas]] entry with default = true; found {len(defaults)}")
|
|
241
|
-
area_ids = set()
|
|
242
|
-
registered_paths = set()
|
|
243
|
-
|
|
244
|
-
for area in areas:
|
|
245
|
-
area_id = required_string(area, "id", errors)
|
|
246
|
-
area_root = required_string(area, "root", errors)
|
|
247
|
-
context_path = required_string(area, "context", errors)
|
|
248
|
-
optional_string(area, "kind", errors)
|
|
249
|
-
if "default" in area and not isinstance(area["default"], bool):
|
|
250
|
-
errors.append(f"project_context/context.toml line {area['line']} default must be a boolean")
|
|
251
|
-
string_array(area, "forbidden_runtime_dependencies", errors)
|
|
252
|
-
if area_id:
|
|
253
|
-
if area_id in area_ids:
|
|
254
|
-
errors.append(f"project_context/context.toml has duplicate area id: {area_id}")
|
|
255
|
-
area_ids.add(area_id)
|
|
256
|
-
if area_root:
|
|
257
|
-
safe_manifest_path(area_root, ROOT, f"area {area_id or area['line']} root", "area root", errors)
|
|
258
|
-
if context_path:
|
|
259
|
-
register_context_path(context_path, "area", None, f"area {area_id or area['line']}", registered_paths, roles, policies, errors)
|
|
260
|
-
|
|
261
|
-
for entry in contexts:
|
|
262
|
-
context_path = required_string(entry, "path", errors)
|
|
263
|
-
raw_role = required_string(entry, "role", errors)
|
|
264
|
-
optional_string(entry, "read_when", errors)
|
|
265
|
-
read_policy = optional_string(entry, "read_policy", errors)
|
|
266
|
-
string_array(entry, "triggers", errors)
|
|
267
|
-
string_array(entry, "default_children", errors)
|
|
268
|
-
role = normalize_role(raw_role) if raw_role else None
|
|
269
|
-
if raw_role and role is None:
|
|
270
|
-
errors.append(f"project_context/context.toml line {entry['line']} has unsupported context role: {raw_role}")
|
|
271
|
-
if read_policy and read_policy not in READ_POLICIES:
|
|
272
|
-
errors.append(f"project_context/context.toml line {entry['line']} has unsupported read_policy: {read_policy}")
|
|
273
|
-
if context_path and role:
|
|
274
|
-
register_context_path(context_path, role, read_policy, f"context {context_path}", registered_paths, roles, policies, errors)
|
|
275
|
-
|
|
276
|
-
for entry in contexts:
|
|
277
|
-
for child in entry.get("default_children", []):
|
|
278
|
-
normalized = normalize_context_path(child)
|
|
279
|
-
if normalized not in registered_paths:
|
|
280
|
-
errors.append(f"project_context/context.toml line {entry['line']} default_children references unregistered Context path: {child}")
|
|
281
|
-
return roles, policies
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
def register_context_path(raw, role, read_policy, label, registered, roles, policies, errors):
|
|
285
|
-
normalized = normalize_context_path(raw)
|
|
286
|
-
if normalized in registered:
|
|
287
|
-
errors.append(f"project_context/context.toml has duplicate Context path: {normalized}")
|
|
288
|
-
return
|
|
289
|
-
registered.add(normalized)
|
|
290
|
-
if not normalized.startswith("project_context/") or not normalized.endswith(".md"):
|
|
291
|
-
errors.append(f"project_context/context.toml {label} must reference a markdown file under project_context/: {raw}")
|
|
292
|
-
return
|
|
293
|
-
if safe_manifest_path(raw, CONTEXT_ROOT, label, "context file", errors) is None:
|
|
294
|
-
return
|
|
295
|
-
roles[normalized] = role
|
|
296
|
-
if read_policy:
|
|
297
|
-
policies[normalized] = read_policy
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
def schema_requires_manifest():
|
|
301
|
-
schema_version = "4"
|
|
302
|
-
for candidate in CONFIG_CANDIDATES:
|
|
303
|
-
path = ROOT / candidate
|
|
304
|
-
if not path.exists():
|
|
305
|
-
continue
|
|
306
|
-
match = re.search(r'schema_version:\s*["\']?([^"\'\s]+)', path.read_text(encoding="utf-8"))
|
|
307
|
-
if match:
|
|
308
|
-
schema_version = match.group(1)
|
|
309
|
-
break
|
|
310
|
-
try:
|
|
311
|
-
return int(schema_version.split(".", 1)[0]) >= 4
|
|
312
|
-
except ValueError:
|
|
313
|
-
return True
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
def validate_checks(rel, text, checks, errors):
|
|
317
|
-
for label, terms in checks:
|
|
318
|
-
if not has_any(text, terms):
|
|
319
|
-
errors.append(f"{rel} must include {label}")
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
def section_bodies(text):
|
|
323
|
-
headings = list(re.finditer(r"^(#{2,6})\s+(.+?)\s*$", text, re.M))
|
|
324
|
-
for index, match in enumerate(headings):
|
|
325
|
-
end = headings[index + 1].start() if index + 1 < len(headings) else len(text)
|
|
326
|
-
yield match.group(2), text[match.end():end].strip()
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
def validate_no_fake_verification(rel, text, errors):
|
|
330
|
-
for heading, body in section_bodies(text):
|
|
331
|
-
if not re.search(r"verification|tests?|deployment|验证|测试|部署", heading, re.I):
|
|
332
|
-
continue
|
|
333
|
-
if any(pattern.search(body) for pattern in FAKE_VERIFICATION_PATTERNS):
|
|
334
|
-
errors.append(f"{rel} must list verification entry points, not claim tests were already executed")
|
|
335
|
-
return
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
def validate_minimum_recoverability(rel, text, errors):
|
|
339
|
-
if not re.search(r"^#\s+\S.+$", text, re.M):
|
|
340
|
-
errors.append(f"{rel} must contain a non-empty level-one title")
|
|
341
|
-
body = re.sub(r"^---\s*\n[\s\S]*?\n---\s*\n?", "", text, count=1)
|
|
342
|
-
facts = []
|
|
343
|
-
for line in body.splitlines():
|
|
344
|
-
value = line.strip()
|
|
345
|
-
if not value or value.startswith(("#", "```", "<!--")):
|
|
346
|
-
continue
|
|
347
|
-
value = re.sub(r"^[-*+>]\s*", "", value).strip()
|
|
348
|
-
if len(value) >= 8 and not PLACEHOLDER.fullmatch(value):
|
|
349
|
-
facts.append(value)
|
|
350
|
-
if not facts:
|
|
351
|
-
errors.append(f"{rel} must contain at least one concrete fact paragraph and cannot be only TODO or placeholder text")
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
def validate_role_recoverability(rel, text, role, errors):
|
|
355
|
-
if role == "verification" and not re.search(r"`[^`\r\n]+`|(?:npm|pnpm|yarn|make|node|python|pytest|cargo|go)\s+\S+|(?:^|\s)(?:\./|[\w.-]+/)[\w./-]+", text, re.I | re.M):
|
|
356
|
-
errors.append(f"{rel} verification Context must contain a command, repository path or repeatable entry point")
|
|
357
|
-
if role == "implementation-index":
|
|
358
|
-
candidates = [match.group(1) for match in re.finditer(r"`([^`]+)`", text) if ("/" in match.group(1) or "\\" in match.group(1)) and " " not in match.group(1)]
|
|
359
|
-
if not any(repository_path_exists(candidate) for candidate in candidates):
|
|
360
|
-
errors.append(f"{rel} implementation-index Context must contain at least one existing repository path")
|
|
361
|
-
if role == "contract" and not re.search(r"producer|consumer|input|output|schema|compatibility|constraint|must|shall|禁止|必须|输入|输出|兼容", text, re.I):
|
|
362
|
-
errors.append(f"{rel} contract Context must state at least one constraint or input/output semantic")
|
|
363
|
-
if role == "decision-rationale":
|
|
364
|
-
has_decision = re.search(r"^##\s+(?:(?:Decision|Current Design Choice|Design Choice)(?:\b|\s|$)|决定(?:\s|$)|当前设计选择(?:\s|$))", text, re.I | re.M)
|
|
365
|
-
has_reason = re.search(r"^##\s+(?:(?:Reason|Rationale|Why)(?:\b|\s|$)|原因(?:\s|$)|理由(?:\s|$)|为什么(?:\s|$))", text, re.I | re.M)
|
|
366
|
-
if not has_decision or not has_reason:
|
|
367
|
-
errors.append(f"{rel} decision-rationale Context must contain both a Decision and a Reason")
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
def repository_path_exists(candidate):
|
|
371
|
-
clean = candidate.rstrip(".:,;").replace("\\", "/")
|
|
372
|
-
if Path(clean).is_absolute() or PureWindowsPath(clean).is_absolute() or ".." in clean.split("/"):
|
|
373
|
-
return False
|
|
374
|
-
target = ROOT.joinpath(*clean.split("/"))
|
|
375
|
-
return target.exists() and is_relative_to(target.resolve(), ROOT)
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
def validate_context_file(rel, text, role, errors):
|
|
379
|
-
validate_no_fake_verification(rel, text, errors)
|
|
380
|
-
validate_minimum_recoverability(rel, text, errors)
|
|
381
|
-
if role:
|
|
382
|
-
validate_role_recoverability(rel, text, role, errors)
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
def main():
|
|
386
|
-
errors = []
|
|
387
|
-
warnings = []
|
|
388
|
-
global_path = CONTEXT_ROOT / "global.md"
|
|
389
|
-
architecture_path = CONTEXT_ROOT / "architecture.md"
|
|
390
|
-
if not global_path.exists():
|
|
391
|
-
errors.append("missing project_context/global.md")
|
|
392
|
-
else:
|
|
393
|
-
text = global_path.read_text(encoding="utf-8")
|
|
394
|
-
validate_checks("project_context/global.md", text, GLOBAL_CHECKS, errors)
|
|
395
|
-
validate_context_file("project_context/global.md", text, "global", errors)
|
|
396
|
-
if not architecture_path.exists():
|
|
397
|
-
errors.append("missing project_context/architecture.md")
|
|
398
|
-
else:
|
|
399
|
-
text = architecture_path.read_text(encoding="utf-8")
|
|
400
|
-
validate_checks("project_context/architecture.md", text, ARCHITECTURE_CHECKS, errors)
|
|
401
|
-
validate_context_file("project_context/architecture.md", text, "architecture", errors)
|
|
402
|
-
|
|
403
|
-
manifest_roles, manifest_policies = validate_manifest(errors)
|
|
404
|
-
checked = 0
|
|
405
|
-
context_files = sorted(CONTEXT_ROOT.rglob("*.md")) if CONTEXT_ROOT.exists() else []
|
|
406
|
-
for path in context_files:
|
|
407
|
-
rel = path.relative_to(ROOT).as_posix()
|
|
408
|
-
if rel in {"project_context/global.md", "project_context/architecture.md"}:
|
|
409
|
-
continue
|
|
410
|
-
text = path.read_text(encoding="utf-8")
|
|
411
|
-
front_matter = parse_front_matter(text)
|
|
412
|
-
declared_role = front_matter.get("context_role")
|
|
413
|
-
front_role = normalize_role(declared_role) if declared_role else None
|
|
414
|
-
if declared_role and front_role is None:
|
|
415
|
-
errors.append(f"{rel} has unsupported context_role: {declared_role}")
|
|
416
|
-
front_policy = front_matter.get("read_policy")
|
|
417
|
-
if front_policy and front_policy not in READ_POLICIES:
|
|
418
|
-
errors.append(f"{rel} has unsupported read_policy: {front_policy}")
|
|
419
|
-
manifest_role = manifest_roles.get(rel)
|
|
420
|
-
manifest_policy = manifest_policies.get(rel)
|
|
421
|
-
if manifest_role and front_role and manifest_role != front_role:
|
|
422
|
-
errors.append(f"{rel} front matter context_role {front_role} does not match manifest role {manifest_role}")
|
|
423
|
-
if manifest_policy and front_policy and manifest_policy != front_policy:
|
|
424
|
-
errors.append(f"{rel} front matter read_policy {front_policy} does not match manifest read_policy {manifest_policy}")
|
|
425
|
-
if not manifest_role:
|
|
426
|
-
warnings.append(f"{rel} is an unregistered Context Markdown file; add it to project_context/context.toml or move it out of project_context/**")
|
|
427
|
-
role = manifest_role or front_role
|
|
428
|
-
validate_context_file(rel, text, role, errors)
|
|
429
|
-
checked += 1
|
|
430
|
-
|
|
431
|
-
for warning in warnings:
|
|
432
|
-
print(f"warning: {warning}", file=sys.stderr)
|
|
433
|
-
if errors:
|
|
434
|
-
for error in errors:
|
|
435
|
-
print(f"error: {error}", file=sys.stderr)
|
|
436
|
-
return 1
|
|
437
|
-
print(f"Context OK: {2 + checked} context file(s)")
|
|
438
|
-
return 0
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
if __name__ == "__main__":
|
|
442
|
-
raise SystemExit(main())
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function checkModularity(args: string[]): Promise<void>;
|