project-tiny-context-harness 0.2.85 → 0.6.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 +163 -428
- package/assets/README.md +283 -455
- package/assets/README.zh-CN.md +199 -123
- package/assets/agents/AGENTS_CORE.md +54 -67
- package/assets/context_templates/context.toml +3 -0
- package/assets/context_templates/global.md +6 -6
- package/assets/github/harness.yml +2 -2
- package/assets/skills/context_development_engineer/SKILL.md +91 -107
- package/assets/skills/context_product_plan/SKILL.md +18 -28
- package/assets/skills/context_surface_contract/SKILL.md +35 -38
- package/assets/skills/context_uiux_design/SKILL.md +31 -30
- package/assets/skills/long-task-workflow/SKILL.md +76 -0
- package/assets/skills/long-task-workflow/agents/openai.yaml +4 -0
- package/assets/skills/long-task-workflow/references/authority-lifecycle.md +41 -0
- package/assets/skills/long-task-workflow/references/contract-authoring.md +62 -0
- package/assets/skills/long-task-workflow/references/evidence-design.md +45 -0
- package/assets/skills/normal-long-task/SKILL.md +12 -489
- package/assets/skills/source-plan-authoring/SKILL.md +379 -0
- package/assets/tools/validate_context.py +293 -127
- package/dist/cli.js +3 -1
- package/dist/commands/check-modularity.js +33 -10
- package/dist/commands/composite-campaign.d.ts +1 -0
- package/dist/commands/composite-campaign.js +8 -0
- package/dist/commands/composite-long-task.d.ts +1 -6
- package/dist/commands/composite-long-task.js +7 -163
- package/dist/commands/delivery-set.d.ts +1 -0
- package/dist/commands/delivery-set.js +8 -0
- package/dist/commands/disable.d.ts +1 -0
- package/dist/commands/disable.js +15 -0
- package/dist/commands/enable.d.ts +1 -0
- package/dist/commands/enable.js +14 -0
- package/dist/commands/export-context-args.js +13 -4
- package/dist/commands/export-context.js +18 -7
- package/dist/commands/index.js +42 -30
- package/dist/commands/init.js +12 -6
- package/dist/commands/long-task-authoring.d.ts +3 -0
- package/dist/commands/long-task-authoring.js +92 -0
- package/dist/commands/long-task-explain.d.ts +1 -0
- package/dist/commands/long-task-explain.js +52 -0
- package/dist/commands/long-task.d.ts +1 -0
- package/dist/commands/long-task.js +226 -0
- package/dist/commands/package-source.js +2 -2
- package/dist/commands/upgrade.js +10 -10
- package/dist/index.d.ts +11 -1
- package/dist/index.js +8 -0
- package/dist/lib/config.js +34 -8
- package/dist/lib/context-default-footprint.d.ts +16 -0
- package/dist/lib/context-default-footprint.js +107 -0
- package/dist/lib/context-export.js +105 -41
- package/dist/lib/context-graph-snapshot.d.ts +18 -0
- package/dist/lib/context-graph-snapshot.js +171 -0
- package/dist/lib/context-manifest-schema.d.ts +28 -0
- package/dist/lib/context-manifest-schema.js +150 -0
- package/dist/lib/context-manifest.js +28 -20
- package/dist/lib/context-templates.js +5 -5
- package/dist/lib/design-md.js +1 -1
- package/dist/lib/doctor.js +54 -1
- package/dist/lib/harness-root.js +25 -8
- package/dist/lib/init.js +6 -3
- package/dist/lib/legacy-managed-scan.js +23 -7
- package/dist/lib/legacy-sdlc-migration.js +21 -11
- package/dist/lib/long-task-acceptance-reference.d.ts +22 -0
- package/dist/lib/long-task-acceptance-reference.js +46 -0
- package/dist/lib/long-task-acceptance-shape.d.ts +5 -0
- package/dist/lib/long-task-acceptance-shape.js +131 -0
- package/dist/lib/long-task-activation-validation.d.ts +21 -0
- package/dist/lib/long-task-activation-validation.js +136 -0
- package/dist/lib/long-task-artifacts.d.ts +5 -0
- package/dist/lib/long-task-artifacts.js +34 -0
- package/dist/lib/long-task-assertions-v2.d.ts +22 -0
- package/dist/lib/long-task-assertions-v2.js +212 -0
- package/dist/lib/long-task-authoring-authority-preview.d.ts +5 -0
- package/dist/lib/long-task-authoring-authority-preview.js +85 -0
- package/dist/lib/long-task-authoring-preflight-diagnostics.d.ts +8 -0
- package/dist/lib/long-task-authoring-preflight-diagnostics.js +179 -0
- package/dist/lib/long-task-authoring-preflight-repair-order.d.ts +8 -0
- package/dist/lib/long-task-authoring-preflight-repair-order.js +95 -0
- package/dist/lib/long-task-authoring-preflight-types.d.ts +46 -0
- package/dist/lib/long-task-authoring-preflight-types.js +38 -0
- package/dist/lib/long-task-authoring-preflight.d.ts +3 -0
- package/dist/lib/long-task-authoring-preflight.js +44 -0
- package/dist/lib/long-task-authority-material-diff.d.ts +17 -0
- package/dist/lib/long-task-authority-material-diff.js +152 -0
- package/dist/lib/long-task-authority-materials.d.ts +7 -0
- package/dist/lib/long-task-authority-materials.js +83 -0
- package/dist/lib/long-task-authority-policy.d.ts +168 -0
- package/dist/lib/long-task-authority-policy.js +181 -0
- package/dist/lib/long-task-authority-revision-details.d.ts +19 -0
- package/dist/lib/long-task-authority-revision-details.js +192 -0
- package/dist/lib/long-task-authority-revision-enforcement.d.ts +3 -0
- package/dist/lib/long-task-authority-revision-enforcement.js +41 -0
- package/dist/lib/long-task-authority-revision-types.d.ts +50 -0
- package/dist/lib/long-task-authority-revision-types.js +1 -0
- package/dist/lib/long-task-authority-revision.d.ts +4 -0
- package/dist/lib/long-task-authority-revision.js +188 -0
- package/dist/lib/long-task-authority-transition-policy.d.ts +62 -0
- package/dist/lib/long-task-authority-transition-policy.js +62 -0
- package/dist/lib/long-task-authority-types.d.ts +96 -0
- package/dist/lib/long-task-authority-types.js +1 -0
- package/dist/lib/long-task-authority.d.ts +7 -0
- package/dist/lib/long-task-authority.js +142 -0
- package/dist/lib/long-task-boundary-check.d.ts +15 -0
- package/dist/lib/long-task-boundary-check.js +9 -0
- package/dist/lib/long-task-check-evidence-decoder.d.ts +3 -0
- package/dist/lib/long-task-check-evidence-decoder.js +74 -0
- package/dist/lib/long-task-check-execution-policy.d.ts +18 -0
- package/dist/lib/long-task-check-execution-policy.js +36 -0
- package/dist/lib/long-task-check-runner.d.ts +2 -0
- package/dist/lib/long-task-check-runner.js +181 -0
- package/dist/lib/long-task-check-shape.d.ts +2 -0
- package/dist/lib/long-task-check-shape.js +136 -0
- package/dist/lib/long-task-claim-definitions.d.ts +7 -0
- package/dist/lib/long-task-claim-definitions.js +78 -0
- package/dist/lib/long-task-claim-proof-policy.d.ts +4 -0
- package/dist/lib/long-task-claim-proof-policy.js +57 -0
- package/dist/lib/long-task-claims.d.ts +10 -0
- package/dist/lib/long-task-claims.js +187 -0
- package/dist/lib/long-task-context-authority-topology.d.ts +7 -0
- package/dist/lib/long-task-context-authority-topology.js +37 -0
- package/dist/lib/long-task-context-authority.d.ts +14 -0
- package/dist/lib/long-task-context-authority.js +66 -0
- package/dist/lib/long-task-contract-types.d.ts +203 -0
- package/dist/lib/long-task-contract-types.js +1 -0
- package/dist/lib/long-task-counterfactual-claim-policy.d.ts +10 -0
- package/dist/lib/long-task-counterfactual-claim-policy.js +57 -0
- package/dist/lib/long-task-counterfactual-sandbox.d.ts +6 -0
- package/dist/lib/long-task-counterfactual-sandbox.js +87 -0
- package/dist/lib/long-task-counterfactual-types.d.ts +24 -0
- package/dist/lib/long-task-counterfactual-types.js +1 -0
- package/dist/lib/long-task-delivery-compiler.d.ts +10 -0
- package/dist/lib/long-task-delivery-compiler.js +129 -0
- package/dist/lib/long-task-delivery-parser.d.ts +13 -0
- package/dist/lib/long-task-delivery-parser.js +90 -0
- package/dist/lib/long-task-delivery-preflight.d.ts +5 -0
- package/dist/lib/long-task-delivery-preflight.js +151 -0
- package/dist/lib/long-task-delivery-shape.d.ts +5 -0
- package/dist/lib/long-task-delivery-shape.js +5 -0
- package/dist/lib/long-task-delivery-types.d.ts +8 -0
- package/dist/lib/long-task-delivery-types.js +8 -0
- package/dist/lib/long-task-delivery-validation.d.ts +3 -0
- package/dist/lib/long-task-delivery-validation.js +175 -0
- package/dist/lib/long-task-evidence-adapter-policy.d.ts +4 -0
- package/dist/lib/long-task-evidence-adapter-policy.js +15 -0
- package/dist/lib/long-task-evidence-adapter-types.d.ts +1 -0
- package/dist/lib/long-task-evidence-adapter-types.js +1 -0
- package/dist/lib/long-task-evidence-findings.d.ts +5 -0
- package/dist/lib/long-task-evidence-findings.js +113 -0
- package/dist/lib/long-task-evidence-sensitivity-policy.d.ts +4 -0
- package/dist/lib/long-task-evidence-sensitivity-policy.js +98 -0
- package/dist/lib/long-task-evidence-v2.d.ts +5 -0
- package/dist/lib/long-task-evidence-v2.js +226 -0
- package/dist/lib/long-task-explain-acceptance-link.d.ts +46 -0
- package/dist/lib/long-task-explain-acceptance-link.js +96 -0
- package/dist/lib/long-task-explain-claim-links.d.ts +45 -0
- package/dist/lib/long-task-explain-claim-links.js +88 -0
- package/dist/lib/long-task-explain-source-links.d.ts +93 -0
- package/dist/lib/long-task-explain-source-links.js +51 -0
- package/dist/lib/long-task-final-v2.d.ts +2 -0
- package/dist/lib/long-task-final-v2.js +124 -0
- package/dist/lib/long-task-finding-context.d.ts +3 -0
- package/dist/lib/long-task-finding-context.js +63 -0
- package/dist/lib/long-task-freshness.d.ts +3 -0
- package/dist/lib/long-task-freshness.js +80 -0
- package/dist/lib/long-task-hook-install.d.ts +9 -0
- package/dist/lib/long-task-hook-install.js +184 -0
- package/dist/lib/long-task-hook-preflight.d.ts +7 -0
- package/dist/lib/long-task-hook-preflight.js +58 -0
- package/dist/lib/long-task-observation-ownership.d.ts +2 -0
- package/dist/lib/long-task-observation-ownership.js +22 -0
- package/dist/lib/long-task-outcome-parser.d.ts +4 -0
- package/dist/lib/long-task-outcome-parser.js +100 -0
- package/dist/lib/long-task-paths.d.ts +49 -0
- package/dist/lib/long-task-paths.js +418 -0
- package/dist/lib/long-task-playwright-counterfactual-policy.d.ts +7 -0
- package/dist/lib/long-task-playwright-counterfactual-policy.js +125 -0
- package/dist/lib/long-task-playwright-evidence.d.ts +6 -0
- package/dist/lib/long-task-playwright-evidence.js +244 -0
- package/dist/lib/long-task-product-shape.d.ts +6 -0
- package/dist/lib/long-task-product-shape.js +73 -0
- package/dist/lib/long-task-progress.d.ts +4 -0
- package/dist/lib/long-task-progress.js +114 -0
- package/dist/lib/long-task-protected-files.d.ts +1 -0
- package/dist/lib/long-task-protected-files.js +30 -0
- package/dist/lib/long-task-required-proof-surfaces.d.ts +2 -0
- package/dist/lib/long-task-required-proof-surfaces.js +13 -0
- package/dist/lib/long-task-requirement-shape.d.ts +2 -0
- package/dist/lib/long-task-requirement-shape.js +18 -0
- package/dist/lib/long-task-risk-surfaces.d.ts +2 -0
- package/dist/lib/long-task-risk-surfaces.js +60 -0
- package/dist/lib/long-task-risk-types.d.ts +5 -0
- package/dist/lib/long-task-risk-types.js +12 -0
- package/dist/lib/long-task-risk.d.ts +9 -0
- package/dist/lib/long-task-risk.js +132 -0
- package/dist/lib/long-task-root-shape.d.ts +4 -0
- package/dist/lib/long-task-root-shape.js +86 -0
- package/dist/lib/long-task-runner-environment.d.ts +7 -0
- package/dist/lib/long-task-runner-environment.js +57 -0
- package/dist/lib/long-task-runner-files.d.ts +3 -0
- package/dist/lib/long-task-runner-files.js +39 -0
- package/dist/lib/long-task-runner-freeze.d.ts +2 -0
- package/dist/lib/long-task-runner-freeze.js +168 -0
- package/dist/lib/long-task-runtime-types.d.ts +214 -0
- package/dist/lib/long-task-runtime-types.js +1 -0
- package/dist/lib/long-task-shape-primitives.d.ts +17 -0
- package/dist/lib/long-task-shape-primitives.js +81 -0
- package/dist/lib/long-task-source-authority-types.d.ts +13 -0
- package/dist/lib/long-task-source-authority-types.js +1 -0
- package/dist/lib/long-task-source-claim-validation.d.ts +5 -0
- package/dist/lib/long-task-source-claim-validation.js +96 -0
- package/dist/lib/long-task-source-continuity.d.ts +4 -0
- package/dist/lib/long-task-source-continuity.js +57 -0
- package/dist/lib/long-task-source-inventory.d.ts +2 -0
- package/dist/lib/long-task-source-inventory.js +21 -0
- package/dist/lib/long-task-source-item-parser.d.ts +3 -0
- package/dist/lib/long-task-source-item-parser.js +112 -0
- package/dist/lib/long-task-source-shape.d.ts +2 -0
- package/dist/lib/long-task-source-shape.js +56 -0
- package/dist/lib/long-task-source-target-continuity.d.ts +4 -0
- package/dist/lib/long-task-source-target-continuity.js +80 -0
- package/dist/lib/long-task-source-target-index.d.ts +12 -0
- package/dist/lib/long-task-source-target-index.js +76 -0
- package/dist/lib/long-task-source-validation.d.ts +3 -0
- package/dist/lib/long-task-source-validation.js +46 -0
- package/dist/lib/long-task-state.d.ts +91 -0
- package/dist/lib/long-task-state.js +611 -0
- package/dist/lib/long-task-status-projection.d.ts +21 -0
- package/dist/lib/long-task-status-projection.js +116 -0
- package/dist/lib/long-task-status-v2.d.ts +37 -0
- package/dist/lib/long-task-status-v2.js +306 -0
- package/dist/lib/long-task-technical-shape.d.ts +3 -0
- package/dist/lib/long-task-technical-shape.js +44 -0
- package/dist/lib/long-task-verifier-authority.d.ts +12 -0
- package/dist/lib/long-task-verifier-authority.js +47 -0
- package/dist/lib/long-task-verifier-identity.d.ts +2 -0
- package/dist/lib/long-task-verifier-identity.js +55 -0
- package/dist/lib/long-task-verifier-v2.d.ts +13 -0
- package/dist/lib/long-task-verifier-v2.js +266 -0
- package/dist/lib/long-task-workspace-runtime-types.d.ts +23 -0
- package/dist/lib/long-task-workspace-runtime-types.js +1 -0
- package/dist/lib/long-task-workspace.d.ts +25 -0
- package/dist/lib/long-task-workspace.js +366 -0
- package/dist/lib/managed-file.js +20 -5
- package/dist/lib/migrations.js +156 -32
- package/dist/lib/modularity.d.ts +27 -1
- package/dist/lib/modularity.js +499 -23
- package/dist/lib/package-json-config.js +14 -5
- package/dist/lib/package-source.js +4 -2
- package/dist/lib/profiles.d.ts +13 -0
- package/dist/lib/profiles.js +66 -0
- package/dist/lib/schema-guard.js +4 -2
- package/dist/lib/source-files.js +14 -7
- package/dist/lib/source-pack-classify.js +91 -19
- package/dist/lib/source-pack-config.js +25 -8
- package/dist/lib/source-pack-export.js +84 -25
- package/dist/lib/source-pack-manifest.js +18 -6
- package/dist/lib/source-pack-records.js +35 -11
- package/dist/lib/source-pack-render.js +47 -18
- package/dist/lib/stable-json.d.ts +2 -0
- package/dist/lib/stable-json.js +21 -0
- package/dist/lib/strict-codec.d.ts +4 -0
- package/dist/lib/strict-codec.js +65 -0
- package/dist/lib/sync-engine.js +76 -24
- package/dist/lib/types.d.ts +8 -1
- package/dist/lib/upgrade.js +4 -3
- package/dist/lib/validators.js +218 -191
- package/dist/long-task-hook.d.ts +2 -0
- package/dist/long-task-hook.js +55 -0
- package/dist/schemas/long-task-delivery-v2/long-task-delivery-v2.schema.json +340 -0
- package/dist/schemas/long-task-delivery-v2/long-task-outcomes-v2.schema.json +18 -0
- package/migrations/README.md +8 -3
- package/package.json +17 -6
- package/source-mappings.yaml +0 -3
- package/assets/protected-harness-baseline.json +0 -20
- package/assets/skills/composite-long-task-workflow/SKILL.md +0 -245
- package/assets/skills/composite-long-task-workflow/assets/execution-binding.template.md +0 -62
- package/assets/skills/composite-long-task-workflow/assets/goal-objective.template.md +0 -17
- package/assets/skills/composite-long-task-workflow/references/composite-long-task-workflow-protocol.md +0 -682
- package/dist/commands/superpowers.d.ts +0 -1
- package/dist/commands/superpowers.js +0 -8
- package/dist/lib/composite-long-task-renderer.d.ts +0 -12
- package/dist/lib/composite-long-task-renderer.js +0 -109
- package/dist/lib/plan-acceptance-artifacts.d.ts +0 -1
- package/dist/lib/plan-acceptance-artifacts.js +0 -220
- package/dist/lib/plan-acceptance-evidence.d.ts +0 -2
- package/dist/lib/plan-acceptance-evidence.js +0 -108
- package/dist/lib/plan-acceptance-json.d.ts +0 -15
- package/dist/lib/plan-acceptance-json.js +0 -133
- package/dist/lib/plan-acceptance-validator.d.ts +0 -2
- package/dist/lib/plan-acceptance-validator.js +0 -209
- package/dist/lib/plan-contract-validator.d.ts +0 -2
- package/dist/lib/plan-contract-validator.js +0 -127
- package/dist/lib/plan-validator-common.d.ts +0 -24
- package/dist/lib/plan-validator-common.js +0 -196
- package/dist/lib/superpowers-task-ac010.d.ts +0 -6
- package/dist/lib/superpowers-task-ac010.js +0 -26
- package/dist/lib/superpowers-task-assertion-normalizers.d.ts +0 -3
- package/dist/lib/superpowers-task-assertion-normalizers.js +0 -74
- package/dist/lib/superpowers-task-assertions.d.ts +0 -20
- package/dist/lib/superpowers-task-assertions.js +0 -257
- package/dist/lib/superpowers-task-attempt.d.ts +0 -4
- package/dist/lib/superpowers-task-attempt.js +0 -102
- package/dist/lib/superpowers-task-command-run-correlation.d.ts +0 -8
- package/dist/lib/superpowers-task-command-run-correlation.js +0 -103
- package/dist/lib/superpowers-task-command-specs.d.ts +0 -3
- package/dist/lib/superpowers-task-command-specs.js +0 -52
- package/dist/lib/superpowers-task-compile-diagnostics.d.ts +0 -5
- package/dist/lib/superpowers-task-compile-diagnostics.js +0 -20
- package/dist/lib/superpowers-task-compile-guards.d.ts +0 -2
- package/dist/lib/superpowers-task-compile-guards.js +0 -66
- package/dist/lib/superpowers-task-compile.d.ts +0 -6
- package/dist/lib/superpowers-task-compile.js +0 -133
- package/dist/lib/superpowers-task-completion-output.d.ts +0 -91
- package/dist/lib/superpowers-task-completion-output.js +0 -374
- package/dist/lib/superpowers-task-conformance.d.ts +0 -2
- package/dist/lib/superpowers-task-conformance.js +0 -24
- package/dist/lib/superpowers-task-contradictions.d.ts +0 -6
- package/dist/lib/superpowers-task-contradictions.js +0 -126
- package/dist/lib/superpowers-task-current-evidence.d.ts +0 -3
- package/dist/lib/superpowers-task-current-evidence.js +0 -176
- package/dist/lib/superpowers-task-delivery.d.ts +0 -4
- package/dist/lib/superpowers-task-delivery.js +0 -96
- package/dist/lib/superpowers-task-derive.d.ts +0 -14
- package/dist/lib/superpowers-task-derive.js +0 -393
- package/dist/lib/superpowers-task-events.d.ts +0 -1
- package/dist/lib/superpowers-task-events.js +0 -13
- package/dist/lib/superpowers-task-evidence-kernel.d.ts +0 -19
- package/dist/lib/superpowers-task-evidence-kernel.js +0 -347
- package/dist/lib/superpowers-task-evidence-records.d.ts +0 -2
- package/dist/lib/superpowers-task-evidence-records.js +0 -55
- package/dist/lib/superpowers-task-evidence.d.ts +0 -10
- package/dist/lib/superpowers-task-evidence.js +0 -147
- package/dist/lib/superpowers-task-fields.d.ts +0 -22
- package/dist/lib/superpowers-task-fields.js +0 -276
- package/dist/lib/superpowers-task-final-card.d.ts +0 -3
- package/dist/lib/superpowers-task-final-card.js +0 -35
- package/dist/lib/superpowers-task-gates.d.ts +0 -12
- package/dist/lib/superpowers-task-gates.js +0 -267
- package/dist/lib/superpowers-task-harness-drift.d.ts +0 -11
- package/dist/lib/superpowers-task-harness-drift.js +0 -90
- package/dist/lib/superpowers-task-next-slices.d.ts +0 -1
- package/dist/lib/superpowers-task-next-slices.js +0 -12
- package/dist/lib/superpowers-task-protected-baseline.d.ts +0 -10
- package/dist/lib/superpowers-task-protected-baseline.js +0 -66
- package/dist/lib/superpowers-task-source-compile.d.ts +0 -5
- package/dist/lib/superpowers-task-source-compile.js +0 -226
- package/dist/lib/superpowers-task-source-parser.d.ts +0 -23
- package/dist/lib/superpowers-task-source-parser.js +0 -218
- package/dist/lib/superpowers-task-state-schema.d.ts +0 -460
- package/dist/lib/superpowers-task-state-schema.js +0 -66
- package/dist/lib/superpowers-task-state-shape.d.ts +0 -3
- package/dist/lib/superpowers-task-state-shape.js +0 -50
- package/dist/lib/superpowers-task-state.d.ts +0 -16
- package/dist/lib/superpowers-task-state.js +0 -246
- package/dist/lib/superpowers-task-status.d.ts +0 -2
- package/dist/lib/superpowers-task-status.js +0 -24
- package/dist/lib/superpowers-task-under-specified.d.ts +0 -7
- package/dist/lib/superpowers-task-under-specified.js +0 -61
- package/dist/lib/superpowers-task-unregistered-evidence.d.ts +0 -11
- package/dist/lib/superpowers-task-unregistered-evidence.js +0 -72
- package/dist/lib/superpowers-task-validator.d.ts +0 -5
- package/dist/lib/superpowers-task-validator.js +0 -293
package/assets/README.zh-CN.md
CHANGED
|
@@ -1,196 +1,272 @@
|
|
|
1
|
-
# Project Tiny Context Harness
|
|
1
|
+
# Project Tiny Context Harness
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Project Tiny Context Harness 是给 AI coding agents 用的轻量项目记忆层,也是一套由 npm 包管理的上下文与交付 Harness。它为仓库提供耐久项目记忆、轻量默认工作流,以及显式启用的 Single-Goal Rolling Delivery(单目标滚动交付)长程工作流;它不是 Agent 调度器,也不接管 Git 编排。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[English](README.md)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
产品原则是:**保留项目记忆,丢掉流程仪式感**。公开推广与 README 以英文主入口为准,中文文档作为二级入口。
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## 为什么存在
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
Keep the memory. Drop the ceremony.
|
|
13
|
-
保留项目记忆,丢掉流程仪式感。
|
|
14
|
-
同时保留 Context / 代码 / 验证证据之间的优先级契约。
|
|
15
|
-
```
|
|
11
|
+
编码 Agent 同时需要两类能力:跨会话仍然可靠的少量项目事实,以及长任务经历多轮修改或上下文压缩后仍可信的完成检查。
|
|
16
12
|
|
|
17
|
-
|
|
13
|
+
Tiny Context 将这些能力保持为窄边界:
|
|
18
14
|
|
|
19
|
-
|
|
15
|
+
1. **Minimal Context**:`project_context/**` 保存产品归属、架构、契约和可重复验证等耐久事实。
|
|
16
|
+
2. **Workflow Contract**:普通任务使用 Context-first 的轻量默认循环和平台内部计划,不要求计划文件。
|
|
17
|
+
3. **Long-Task Workflow**:显式使用 `long-task-delivery-v2`、编译期 Claim Coverage、一次 Authority Lock 后的模型选择、滚动修复验证与 Live Final Gate。
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
- 哪些事情明确不做
|
|
23
|
-
- 架构边界在哪里
|
|
24
|
-
- 哪些文件是事实源
|
|
25
|
-
- 改完以后应该跑什么验证
|
|
26
|
-
- 上一次任务留下了哪些长期约束
|
|
27
|
-
- Context、实现和验证证据冲突时谁优先
|
|
19
|
+
它不会启动或切换模型,不会创建 Agent、分支或 worktree,不会 merge、push、创建 PR 或部署,也不会取代项目测试和人工产品验收。
|
|
28
20
|
|
|
29
|
-
|
|
21
|
+
## 快速开始
|
|
30
22
|
|
|
31
|
-
|
|
32
|
-
-
|
|
33
|
-
|
|
34
|
-
-
|
|
35
|
-
- `project_context/areas/**`
|
|
23
|
+
```powershell
|
|
24
|
+
npx --yes project-tiny-context-harness ty-context init
|
|
25
|
+
# 已有项目文件的仓库:
|
|
26
|
+
npx --yes project-tiny-context-harness ty-context init --adopt
|
|
36
27
|
|
|
37
|
-
|
|
28
|
+
npx --yes project-tiny-context-harness ty-context validate-context
|
|
29
|
+
npx --yes project-tiny-context-harness ty-context doctor
|
|
30
|
+
```
|
|
38
31
|
|
|
39
|
-
|
|
32
|
+
更新 package-managed 表面:
|
|
40
33
|
|
|
41
|
-
|
|
34
|
+
```powershell
|
|
35
|
+
npx --yes project-tiny-context-harness ty-context upgrade
|
|
36
|
+
npx --yes project-tiny-context-harness ty-context sync
|
|
37
|
+
```
|
|
42
38
|
|
|
43
|
-
|
|
39
|
+
`upgrade` 先执行安全迁移再同步;资产刷新不会推断或覆盖用户编写的 Context、Source、Delivery Contract 或历史文件。
|
|
44
40
|
|
|
45
|
-
-
|
|
46
|
-
- 现代 coding agents 已经内化了很多普通软件工程循环:理解、设计、实现、测试、修复。
|
|
47
|
-
- 真正值得保留下来的不是“每次任务都走完整流程”,而是“新 agent 能快速恢复项目长期事实”。
|
|
41
|
+
默认 Profile 是 `core-portable` 与 `workflow-default`。显式启用长程能力:
|
|
48
42
|
|
|
49
|
-
|
|
43
|
+
```powershell
|
|
44
|
+
ty-context enable long-task
|
|
45
|
+
```
|
|
50
46
|
|
|
51
|
-
|
|
47
|
+
它会安装 `/source-plan-authoring`、`/long-task-workflow` 与完成 Hook,不安装模型 Worker、Agent runtime、调度器或 Git 编排资产。
|
|
52
48
|
|
|
53
|
-
|
|
49
|
+
## Minimal Context 与默认工作流
|
|
54
50
|
|
|
55
|
-
|
|
51
|
+
默认读取顺序是:
|
|
56
52
|
|
|
57
|
-
|
|
53
|
+
```text
|
|
54
|
+
project_context/global.md
|
|
55
|
+
project_context/architecture.md
|
|
56
|
+
project_context/context.toml
|
|
57
|
+
default area root
|
|
58
|
+
manifest/trigger 命中的少量 area/role Context
|
|
59
|
+
```
|
|
58
60
|
|
|
59
|
-
|
|
61
|
+
只有近乎所有任务都需要的恢复事实才使用 `read_policy = "default"`;专业架构、契约、部署和历史细节应由任务触发按需读取。
|
|
60
62
|
|
|
61
|
-
|
|
63
|
+
### 双路由 Context 发现
|
|
62
64
|
|
|
63
|
-
|
|
65
|
+
在判断 `Context Delta` 前,Agent 不再只依赖 `triggers`、`read_when` 与 `read_policy`:
|
|
64
66
|
|
|
65
|
-
|
|
67
|
+
1. 先根据 `context.toml` 的 area、role、trigger 和 graph 收集候选;
|
|
68
|
+
2. 再从任务中提取少量高信号词,例如明确的 area/module 名、API、Schema、state、security、verification、deployment 词,对 `project_context/**` 做一次 bounded text search;
|
|
69
|
+
3. 合并两路候选,只读取真正相关的 Context;
|
|
70
|
+
4. 再判断 `Context Delta: none|required`。
|
|
66
71
|
|
|
67
|
-
|
|
72
|
+
这次搜索只补充语义判断,不会把所有关键词命中都当成 Authority,也不会创建向量/持久索引、缓存、Registry、search state 或第二权威。它仍可能漏掉完全不同的同义词或间接依赖,因此高风险任务还需要 Architecture Context Hit 与收尾 Conformance。
|
|
68
73
|
|
|
69
|
-
|
|
74
|
+
`ty-context doctor` 会报告确定性的默认 Context 文件/字节规模、单文件与总量软预算超限,以及字节完全相同的默认文件。这些只是维护提示,不是新验证 Gate 或运行时状态。
|
|
70
75
|
|
|
71
|
-
|
|
76
|
+
Context 负责耐久的意图和边界,代码负责当前实现,测试/CI/浏览器或运行时证据/人工负责行为与产品验收。
|
|
72
77
|
|
|
73
|
-
|
|
78
|
+
普通任务:
|
|
74
79
|
|
|
75
|
-
|
|
80
|
+
1. 读取 core/default Context,收集 manifest 候选;
|
|
81
|
+
2. 在 `project_context/**` 做一次 bounded Context search;
|
|
82
|
+
3. 决定 `Context Delta: none|required`;
|
|
83
|
+
4. 耐久语义改变时先更新 owner Context;
|
|
84
|
+
5. 使用平台内部计划;
|
|
85
|
+
6. 实现并运行项目验证;
|
|
86
|
+
7. 执行 Contract Conformance 与 Context drift 检查。
|
|
76
87
|
|
|
77
|
-
|
|
88
|
+
默认工作流不要求 `plan.md`、matrix、verdict、evidence ledger、持久检索索引或第二份执行计划。任务时长、文件数和复杂度不会自动激活长程状态。
|
|
78
89
|
|
|
79
|
-
|
|
90
|
+
每次交接只报告一个 Context 结果:
|
|
80
91
|
|
|
81
|
-
|
|
92
|
+
```text
|
|
93
|
+
Context: updated <文件/原因>
|
|
94
|
+
# 或
|
|
95
|
+
Context: no durable fact change
|
|
96
|
+
```
|
|
82
97
|
|
|
83
|
-
|
|
98
|
+
### 架构与模块质量
|
|
84
99
|
|
|
85
|
-
|
|
100
|
+
技术架构能力属于 Minimal Context。高风险工作在平台内部计划中使用 `Architecture Context Hit`、`Decision Rationale Hit: existing|required|none` 和 `Modularity Check: none|required|exception`,不创建 Task Contract 或固定 `plan.md`。
|
|
86
101
|
|
|
87
|
-
|
|
102
|
+
只有新长期模块/能力、公共 API/Schema/data/persistence、source of truth/state ownership、dependency direction、跨 area、migration/security/recovery 或可复用抽象才触发架构 Gate;小修复不支付这项成本。Gate 要明确 owner、唯一事实源、依赖方向、接口/状态生命周期、失败/恢复/兼容、禁止绕过路径和项目自己的可执行架构检查。
|
|
88
103
|
|
|
89
|
-
|
|
104
|
+
Harness 只路由仓库原生 lint/AST/dependency/contract check,不实现跨语言通用架构分析器。`check-modularity` 的语句数/分支风险会定位到最高风险函数和行号。
|
|
90
105
|
|
|
91
|
-
|
|
92
|
-
流程契约 + project_context/** -> 实现 -> 验证 -> drift check
|
|
93
|
-
```
|
|
106
|
+
### 视觉交付指导
|
|
94
107
|
|
|
95
|
-
|
|
108
|
+
对设计系统、重设计、高保真实现或 visual polish,`context_uiux_design` 在任务内部维护一个风险比例化的 Visual Coverage Set,覆盖生产 surface/component、viewport、theme/mode、state、content stress 与 accessibility/motion 条件。它只是内部计划,不是必需 matrix 或新权威。耐久 surface/interaction 事实仍属于 `project_context/**`,耐久视觉语义与理由属于 `DESIGN.md`;项目只声明一个精确 token 手工事实源和一个生成方向。`context_development_engineer` 把这些意图绑定到生产组件/真实 route,只报告真正渲染和检查过的组合,静态 kit 或 mock 不能替代产品 UI 证据。
|
|
96
109
|
|
|
97
|
-
|
|
98
|
-
Web GPT 或其他外部规划模型产出长任务源输入
|
|
99
|
-
-> /normal-long-task 生成完整验收清单和可选普通目标模式文本
|
|
100
|
-
-> 需要 Superpowers-backed 多组合长程任务工作流时,/composite-long-task-workflow 消费 Product / Architecture Source + Technical Realization Plan + Acceptance Checklist
|
|
101
|
-
-> Superpowers 得出具体落地执行片段
|
|
102
|
-
-> 执行中维护 plan-conformance-matrix,最后生成 final-acceptance-verdict
|
|
103
|
-
-> 每个执行片段都回到流程契约 + project_context/**
|
|
104
|
-
```
|
|
110
|
+
显式 Long-Task 仍通过现有 Requirement、Control、Assertion、`ui_browser`、verification input 与 `external_confirmation` 表达视觉要求。影响验收的截图 baseline 是冻结的 verifier input,生成截图/diff 只是 review artifact,主观设计或新 baseline 批准保持外部确认。这项指导不新增视觉 Schema、risk level、lifecycle state、Gate 或必需 artifact,也不修改默认 Workflow Contract。
|
|
105
111
|
|
|
106
|
-
|
|
112
|
+
### 可选 Source Plan Authoring
|
|
107
113
|
|
|
108
|
-
|
|
114
|
+
只有用户明确要求初版方案、源方案、方案源稿、Source Plan,或要求审计/重构这类后续实现与 Contract Authoring 的输入时,才使用 `/source-plan-authoring`。
|
|
109
115
|
|
|
110
|
-
|
|
116
|
+
它输出一份自包含 Markdown Source Plan:
|
|
111
117
|
|
|
112
|
-
|
|
118
|
+
- 保留直接要求及其限定条件;
|
|
119
|
+
- 必要推导必须标记并写明 `Derived From`;
|
|
120
|
+
- 无来源的新产品选择进入 `DEC`/`decision_required`;
|
|
121
|
+
- Outcome 只按可独立判断的可观察结果拆分;
|
|
122
|
+
- 重要 Source 项使用稳定语义 Key 与显式 Anchor;
|
|
123
|
+
- 强制技术义务使用 `OBL`,非强制实现建议使用 `HINT`;
|
|
124
|
+
- 每个已决定的 `CTRL` 分别记录 Location、User task、Trigger、Input、Loading、Empty、Success、Failure 与 Feedback;
|
|
125
|
+
- 明确“不算完成”的 Source 含义使用 `NCOMP`;
|
|
126
|
+
- 每个 `RISK` 明确 Fact、单个 Affected Outcome、Basis 与 Consequence,无法确定时进入 `DEC`;Fact 精确使用 Runtime 的十个名称:`public_api_or_schema_change`、`persistent_data_change`、`data_migration`、`security_boundary_change`、`permission_boundary_change`、`irreversible_external_effect`、`critical_user_path`、`full_population_operation`、`multi_repository_change`、`weak_observability`;
|
|
127
|
+
- 每个 AC 只代表一个 Given/When/Then 可观察场景,显式列出对应 `REQ`/`CTRL`/`OBL`/`NCOMP` Key,且不能首次偷渡新需求。
|
|
113
128
|
|
|
114
|
-
|
|
129
|
+
它不更新项目 Context,不绑定真实仓库 owner/path/runner,不生成 Delivery Contract YAML,不执行实现,不创建工作流状态,也不声明完成。`HINT` 不是 Material Source Item;Source Plan Skill 不输出 `ty-source-item` Marker,Marker 由后续 repository-aware Long-Task Authoring 插入。Source Plan 是 Source,不是 Contract Draft。推荐结构只是 Authoring Fast Path;普通 prose/Source Plan 或普通文本方案仍可直接作为 Long-Task Source。
|
|
115
130
|
|
|
116
|
-
|
|
131
|
+
## Single-Goal Rolling Delivery
|
|
117
132
|
|
|
118
|
-
-
|
|
119
|
-
- 经常开新 chat,agent 反复重新理解项目的项目。
|
|
120
|
-
- 想保留项目意图、边界和验证路径,但不想引入完整流程文档链的维护者。
|
|
121
|
-
- 多 agent / 多工具协作时,需要一个工具无关的 repo 内事实源。
|
|
133
|
+
只有用户显式调用 `/long-task-workflow`,或当前 worktree 已有 active long task 时才使用。它固定为:
|
|
122
134
|
|
|
123
|
-
|
|
135
|
+
- 一个平台原生、持续的 Goal;
|
|
136
|
+
- 一个用户选定的仓库/worktree;
|
|
137
|
+
- 一次完整选定交付、一个 Contract、一个 Final Gate;
|
|
138
|
+
- Outcome 依赖只表示验收就绪关系,不表示 Worker 调度;
|
|
139
|
+
- 第一次 Authority Lock 后、正式实现前有一次用户模型选择;
|
|
140
|
+
- 当前 Goal 内部滚动展开实现 Frontier;
|
|
141
|
+
- targeted verify 只用于修复,永远不能 accepted;
|
|
142
|
+
- Final Gate 在一个当前快照上重跑全部 Check;
|
|
143
|
+
- Stop Hook 在结果 stale 时阻止完成。
|
|
124
144
|
|
|
125
|
-
-
|
|
126
|
-
- 自动执行完整 Tiny Context。
|
|
127
|
-
- 做代码语义索引或外部文档检索。
|
|
128
|
-
- 给每个任务强制生成 PRD、技术方案、测试报告和发布文档。
|
|
145
|
+
Long-Task Contract Authoring 会尽量保留 Source 中已有的稳定 Key 与 Anchor。保持产品含义的结构分解和有真实证据的仓库绑定可以继续;新增业务规则、默认值、恢复行为、权限或范围必须进入 `decision_required`,不能静默加入。缺少推荐 Source Plan 结构不构成阻塞,但激活前必须完成只插入标记、不改写原文的 Material Source Item 枚举。
|
|
129
146
|
|
|
130
|
-
|
|
147
|
+
第一次正式 Compile 成功前,`delivery-contract.yaml` 是同一份非权威 Contract Draft。`/long-task-workflow` 可以跨多轮仓库/Context 读取和 Preflight 修复持续修改它,不要求一次响应生成完整 Contract。不存在单独 Contract Draft Skill、Draft Receipt 或 Authoring State。
|
|
131
148
|
|
|
132
|
-
|
|
149
|
+
第一次成功 Compile 创建 Authority Lock,并返回:
|
|
133
150
|
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
151
|
+
```json
|
|
152
|
+
{
|
|
153
|
+
"execution_model_checkpoint": {
|
|
154
|
+
"required": true,
|
|
155
|
+
"phase": "post_authority_lock_pre_implementation",
|
|
156
|
+
"options": ["continue_current_model", "switch_model_then_resume"]
|
|
157
|
+
}
|
|
158
|
+
}
|
|
139
159
|
```
|
|
140
160
|
|
|
141
|
-
|
|
161
|
+
Agent 此时在实现前只暂停一次,请用户选择:继续当前模型,或切换模型后恢复同一 active Long-Task。如果用户已明确给出本任务的模型策略,则视为已完成选择。后续 `compile --revise` 返回 `required: false`,不会重复暂停。Harness 不会自动切换模型,也不持久化 acknowledgement、model route 或 checkpoint state;模型选择不是验收证据。
|
|
142
162
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
make validate-context
|
|
147
|
-
```
|
|
163
|
+
Long-Task Skill 采用渐进读取:主 `SKILL.md` 只保留目标、硬边界和阶段路由,Contract Authoring、Evidence Design 与 Authority Lifecycle 细节只在对应阶段读取一层 reference。这只是指令组织,不产生第二权威。
|
|
164
|
+
|
|
165
|
+
Draft Outcome 只是 Authority Lock 前的 Outcome。Outcome 按可独立观察、判断和定向验证的结果拆分,使当前 Goal 能缩小 dependency-ready 工作集、定向验证、定位失败、恢复 finding 并精确失效旧局部结果。`depends_on` 只表示 acceptance readiness,Rolling Frontier 只是临时工作状态;Outcome 不是 Worker、scheduler task、queue 或并行单元。Outcome 拆分执行和诊断,不拆分完成权威,因此最终仍必须在当前最终快照运行一次完整 Final Gate。
|
|
148
166
|
|
|
149
|
-
|
|
167
|
+
平台负责物理 Goal/会话生命周期。新会话通过 `resume` 恢复语义状态;Tiny Context 不会重建此前的物理 Turn。
|
|
168
|
+
|
|
169
|
+
### CLI
|
|
150
170
|
|
|
151
171
|
```text
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
172
|
+
ty-context long-task init <workdir>
|
|
173
|
+
ty-context long-task preflight <workdir>
|
|
174
|
+
ty-context long-task compile <workdir>
|
|
175
|
+
ty-context long-task compile <workdir> --revise
|
|
176
|
+
ty-context long-task approve-authority-revision <workdir> --revision <sha>
|
|
177
|
+
ty-context long-task explain <workdir>
|
|
178
|
+
ty-context long-task verify <workdir> [--outcome <key>] [--check <key>]
|
|
179
|
+
ty-context long-task status <workdir>
|
|
180
|
+
ty-context long-task resume <workdir>
|
|
181
|
+
ty-context long-task doctor <workdir>
|
|
182
|
+
ty-context long-task final-gate <workdir>
|
|
183
|
+
ty-context long-task stop-check <workdir> [--message <text>]
|
|
184
|
+
ty-context long-task close <workdir>
|
|
185
|
+
ty-context long-task abandon <workdir> [--force-corrupt-state]
|
|
159
186
|
```
|
|
160
187
|
|
|
161
|
-
|
|
188
|
+
- `init` 创建单文件 inline Outcome 的 Compact Contract 模板。
|
|
189
|
+
- `preflight` 应用 Compact 默认值并一次输出 Source/REQ/CTRL/OBL/AC、Context、风险、路径/Binding、Runner/Input 与 Proof 诊断;它完全只读,不创建 Authority Lock、marker、cache、progress、Receipt、pending revision、状态锁,也不运行项目 Check。
|
|
190
|
+
- `compile` 生成 Global 与 Outcome Result/Requirement/Control-field/Non-completing/Technical Claim,拒绝未覆盖 Claim,并让第一次正式成功 Compile 成为 Authority Lock。第一次结果附带 `execution_model_checkpoint.required: true`,后续 Compile 返回 `false`;该字段不进入 Authority state。
|
|
191
|
+
- `verify` 在重查 active task/revision/compiled/worktree identity 后写 scoped Progress;targeted verify 始终只是修复证据。
|
|
192
|
+
- `status` 输出 `unverified`、`progress_passing`、`progress_failing`、`progress_stale` 或 `blocked_external`,并报告 fresh `final_workflow_status` 与完整 `external_confirmations`。
|
|
193
|
+
- `resume` 完全只读,恢复 task/contract identity、风险、相关 Context、Git 状态、ready Outcome、findings 和 next safe action。
|
|
194
|
+
- `final-gate` 在完整 Check 后再次验证 active identity;并发 revision 不能产生 accepted。
|
|
195
|
+
- `stop-check` 与 `close` 自己运行 Live Final Gate,并只用 accepted identity 做 CAS clear。`status: closed` 只表示机器 Authority 已清理,不表示完整外部交付完成。
|
|
196
|
+
- `abandon --force-corrupt-state` 仅用于损坏/mismatch/legacy-unrecoverable 状态或遗留锁,只删除确定性 active state 与 `<workdir>/.ty-context/**`。
|
|
162
197
|
|
|
163
|
-
|
|
198
|
+
### Delivery Contract
|
|
164
199
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
200
|
+
`long-task-delivery-v2` 在同一个文件中保持 Product Authority、Technical Boundary Authority 与 Acceptance Authority。Compact YAML 只省略确定性默认值,规范化后的 Contract、Authority Hash 与 Compiled Identity 和完整展开形式一致。
|
|
201
|
+
|
|
202
|
+
Contract 顶层包含:
|
|
203
|
+
|
|
204
|
+
- `task`:完整目标、Source 路径、相关 Context 与 snapshot 模式;
|
|
205
|
+
- `risk`:`auto | standard | strict` 与明确 risk facts;
|
|
206
|
+
- `global`:非目标、owner boundary、技术约束、禁止路径/捷径和全局 Check;
|
|
207
|
+
- `outcomes`:可独立判断并可定向验证的结果、依赖、REQ、产品/控件状态与位置、稳定技术义务和命名 AC。
|
|
208
|
+
|
|
209
|
+
Runner 支持 `package_script`、`project_binary`、`node_oracle`、`playwright_test`。Proof surface 支持 `ui_browser`、`runtime_behavior`、`api_contract`、`data_state`、`security_boundary`、`population_coverage`、`implementation_structure`。
|
|
210
|
+
|
|
211
|
+
### 一个 Contract 与 Source Claim
|
|
212
|
+
|
|
213
|
+
用户选定的一次完整交付始终只有一个 Contract 和一个 Final Gate。Outcome 只按“可独立判断、可定向验证”的结果拆分;模型输出长度、YAML/文件长度、前后端层、模块数量、并行偏好或 Agent 容量都不是拆分依据。
|
|
168
214
|
|
|
169
|
-
|
|
215
|
+
V2 强制至少一个真实 `source_path` 与一个 `source_claim`,且每个声明的 Source 文件至少包含一个 Material Item。Authoring 阶段必须在原始 Markdown 中仅插入不渲染的 `ty-source-item:start/end` 标记,不得改写 Item 原文。Marker key 与 Source Claim key 必须集合完全相等且全局唯一。
|
|
170
216
|
|
|
171
|
-
|
|
217
|
+
类型化 disposition 分开整体结果、Requirement/Control/Obligation/Non-completing Claim、单一命名 Acceptance Assertion、Global Constraint/Non-goal、Risk Fact/Affected Outcome、External Confirmation 与真实决策。Outcome Source Acceptance 必须原样对应一个 `<outcome>.<check>.<assertion>` criterion,并证明至少一个被独立 Source Item 支撑的非 Result Claim。`out_of_scope` 已退休:排除原本在范围内的要求只能进入 `decision_required`。
|
|
172
218
|
|
|
173
|
-
|
|
219
|
+
`context.toml` 中仅用于未来读取的 `triggers`、`read_when`、`read_policy`、default selection 与未选节点不再进入当前 delivery Authority;当前已选 area ownership、role/dependency 与 Context 内容仍受保护。最终 Git tree 变化后仍必须重新运行 Live Final Gate。
|
|
174
220
|
|
|
175
|
-
|
|
221
|
+
## 确定性风险分级
|
|
176
222
|
|
|
177
|
-
|
|
223
|
+
- **L0**:局部、可逆、可直接测试的任务走默认工作流。
|
|
224
|
+
- **L1 standard**:多个可观察 Outcome 或需要跨会话恢复,且有可靠可执行验证。
|
|
225
|
+
- **L2 strict**:使用同一套 Long-Task 和 Outcome 结构,但对公共 API/schema、持久数据、迁移、安全/权限边界、不可逆外部影响、全量 population,或可观察性弱的关键主路径增加更严格的 proof;不支持多仓库交付。
|
|
178
226
|
|
|
179
|
-
|
|
227
|
+
用户可以主动升级为 strict。显式 `standard` 低于计算出的最低级别会以 `risk_level_below_required` 失败。Strict 所需 negative、counterfactual、population、security、environment、rollback/recovery proof 由 Compiler 按风险强制。
|
|
180
228
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
229
|
+
## Evidence 与完成权威
|
|
230
|
+
|
|
231
|
+
最终接受来自当前可执行证据,不来自 Agent 文本。Evidence Adapter 由 Runner 派生:只有 `playwright_test → playwright_json_v1` 可以证明 `ui_browser`,其余 Runner 均为 `structured_json_v2`,只能证明非浏览器 Surface。
|
|
232
|
+
|
|
233
|
+
每个 Outcome 至少有一个非 Result 原子 Claim,且 `required_proof_surfaces` 必须 all-of 全覆盖。Claim-bearing Assertion 使用显式 Expected 比较;`truthy/falsy` 禁止,`exists` 仅允许证明 `implementation_structure` Obligation。
|
|
234
|
+
|
|
235
|
+
Targeted verify、Progress、status、Receipt 与 compiled cache 都不是完成权威。Final Gate 要求 clean candidate commit,从 Source 重新 Compile,在同一 Git-tree snapshot 上运行全部 Global/Outcome Check,并在结束时再次校验 active identity。只有它可以生成 `machine_accepted` 或 `machine_accepted_external_pending`;后者仍必须明确列出外部确认项。
|
|
236
|
+
|
|
237
|
+
## 开发与验证
|
|
238
|
+
|
|
239
|
+
```powershell
|
|
240
|
+
npm install
|
|
241
|
+
npm run format:check
|
|
242
|
+
npm run typecheck --workspace project-tiny-context-harness
|
|
243
|
+
npm run build --workspace project-tiny-context-harness
|
|
244
|
+
node --test --test-concurrency=1 tests/ty-context/source-plan-authoring-skill.test.mjs tests/ty-context/sync-init-doctor.test.mjs tests/ty-context/workflow-contract-routing.test.mjs tests/ty-context/long-task-model-choice-checkpoint.test.mjs
|
|
245
|
+
npm run test:delivery-contract --workspace project-tiny-context-harness
|
|
246
|
+
npm run test:long-task-workflow --workspace project-tiny-context-harness
|
|
247
|
+
npm run test:long-task-performance --workspace project-tiny-context-harness
|
|
248
|
+
npm test
|
|
249
|
+
npm run smoke:quickstart
|
|
250
|
+
npm run preview:pack
|
|
251
|
+
npm run launch:check
|
|
252
|
+
node packages/ty-context/dist/cli.js package check-source
|
|
253
|
+
make validate-harness
|
|
254
|
+
```
|
|
185
255
|
|
|
186
|
-
|
|
256
|
+
模块化门禁是 `ty-context check-modularity`;例外必须包含 `owner`、`introduced_at`、`reason`、`tracking_issue` 和 `expiry_condition`。
|
|
187
257
|
|
|
188
|
-
|
|
189
|
-
- [Demo starter issue](https://github.com/Seven128/project-tiny-context-harness/issues/5)
|
|
190
|
-
- [Sample walkthrough starter issue](https://github.com/Seven128/project-tiny-context-harness/issues/6)
|
|
258
|
+
## 诚实限制
|
|
191
259
|
|
|
192
|
-
|
|
260
|
+
- Harness 不创建或恢复平台物理 Goal/会话。
|
|
261
|
+
- 它不能证明用户从未遗漏未声明需求。
|
|
262
|
+
- bounded Context keyword search 仍可能漏掉同义词或间接依赖,只能补充语义判断。
|
|
263
|
+
- Harness 不能切换 host 选择的模型,只能在第一次 Authority Lock 后要求一次用户选择。
|
|
264
|
+
- 核心长程执行不提供并行 mutation runtime。
|
|
265
|
+
- 它不观测平台 token 或模型调用数。
|
|
266
|
+
- Network policy 会约束传给 runner 的代理环境,但不是操作系统 sandbox。
|
|
267
|
+
- 同用户/管理员文件篡改、系统级 Hook 绕过不在安全边界内。
|
|
268
|
+
- Git/PR/CI、部署与人工产品确认仍由外部系统负责。
|
|
193
269
|
|
|
194
|
-
|
|
270
|
+
## License
|
|
195
271
|
|
|
196
|
-
|
|
272
|
+
MIT
|