@tea-agent/loop-agent 0.44.0-next.12 → 0.44.0-next.14
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/CHANGELOG.md +27 -2
- package/README.md +12 -12
- package/dist/adapters/loop-agent.js +34 -0
- package/dist/build-stamp.json +3 -3
- package/dist/cli/command-definitions.js +5 -5
- package/dist/cli/program.js +1 -4
- package/dist/commands/init-legacy-audit.js +330 -0
- package/dist/commands/init-upgrade.js +644 -104
- package/dist/commands/init.js +686 -330
- package/dist/commands/operator-guide.js +99 -0
- package/dist/commands/operator.js +16 -3
- package/dist/executors/dag-pi-executor.js +11 -6
- package/dist/executors/pi-sdk-executor.js +3 -1
- package/dist/executors/pi-writer-tool-policy.js +60 -4
- package/dist/executors/playwright-cli-launcher.js +31 -45
- package/dist/executors/shell-write-guard.js +24 -67
- package/dist/governance/exec-plans.js +10 -1
- package/dist/governance/harness.js +2 -7
- package/dist/governance/manifest-types.js +28 -9
- package/dist/governance/project-capability-scanner.js +263 -0
- package/dist/governance/project-config.js +96 -0
- package/dist/governance/resource-catalog.js +151 -0
- package/dist/infrastructure/console/app-data.js +6 -2
- package/dist/shared/operator/capabilities.js +2 -2
- package/dist/shared/package-metadata.js +23 -7
- package/dist/shared/pi-context-pressure/extension.js +23 -0
- package/dist/shared/pi-context-pressure/index.js +1 -0
- package/dist/shared/pi-context-pressure/telemetry.js +4 -0
- package/dist/shared/pi-context-pressure/tool-result-pruner.js +98 -0
- package/dist/shared/update/npm-client.js +49 -1
- package/dist/task/config-types.js +4 -2
- package/dist/task/source-prepare/build-draft.js +1 -0
- package/dist/task/source-prepare/path-policy.js +17 -7
- package/dist/worker/cli.js +3 -5
- package/dist/worker/console/chat/browser-automation.js +455 -41
- package/dist/worker/console/chat/browser-content.js +74 -0
- package/dist/worker/console/chat/browser-diagnostics.js +250 -0
- package/dist/worker/console/chat/browser-evaluation.js +58 -0
- package/dist/worker/console/chat/browser-operation-queue.js +19 -0
- package/dist/worker/console/chat/browser-pick.js +113 -0
- package/dist/worker/console/chat/browser-routes.js +54 -5
- package/dist/worker/console/chat/browser-screenshot-result.js +47 -0
- package/dist/worker/console/chat/browser-storage.js +89 -0
- package/dist/worker/console/chat/chat-event-store.js +7 -6
- package/dist/worker/console/chat/context-insights.js +84 -19
- package/dist/worker/console/chat/pet/pet-affinity.js +169 -0
- package/dist/worker/console/chat/pet/pet-persist.js +109 -0
- package/dist/worker/console/chat/pet/pet-registry.js +142 -0
- package/dist/worker/console/chat/pet/pet-remarks.js +48 -0
- package/dist/worker/console/chat/pet/pet-routes.js +125 -0
- package/dist/worker/console/chat/pet/pet-service.js +262 -0
- package/dist/worker/console/chat/pet/pet-state.js +99 -0
- package/dist/worker/console/chat/pi-mode-loop-isolation.js +17 -2
- package/dist/worker/console/chat/pi-runtime/custom-tools/browser-tools.js +125 -174
- package/dist/worker/console/chat/pi-runtime.js +8 -3
- package/dist/worker/console/chat/repo-browser.js +80 -2
- package/dist/worker/console/chat/repo-preview-kind.js +155 -0
- package/dist/worker/console/chat/routes.js +43 -7
- package/dist/worker/console/chat/scheduled-goal-request.js +14 -6
- package/dist/worker/console/chat/session-mode.js +1 -1
- package/dist/worker/console/chat/session-store.js +24 -5
- package/dist/worker/console/chat/tools.js +12 -0
- package/dist/worker/console/console-shutdown.js +34 -0
- package/dist/worker/console/server.js +2 -1
- package/dist/worker/console/static/assets/{abnfDiagram-N423BO3Z-r1NAPU_5.js → abnfDiagram-N423BO3Z-DASc69AM.js} +1 -1
- package/dist/worker/console/static/assets/{arc-dT5T4sVL.js → arc-h09p-LAc.js} +1 -1
- package/dist/worker/console/static/assets/{architectureDiagram-T3A2C74G-CP_cOq46.js → architectureDiagram-T3A2C74G-CZ3dtLkh.js} +1 -1
- package/dist/worker/console/static/assets/{blockDiagram-VBNYF7ZC-sToEZxEf.js → blockDiagram-VBNYF7ZC-DMrRhMXG.js} +1 -1
- package/dist/worker/console/static/assets/{c4Diagram-5PPSVZJV-DSxwwi2m.js → c4Diagram-5PPSVZJV-DQxisHV6.js} +1 -1
- package/dist/worker/console/static/assets/channel-D1zgKZfg.js +1 -0
- package/dist/worker/console/static/assets/{chunk-2GRJ4B5K-B9fh0IkF.js → chunk-2GRJ4B5K-CefVN9zh.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-2Q5K7J3B-CAUNl-A6.js → chunk-2Q5K7J3B-DmR1Koq2.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-5RXB4S5H-BomeqbNX.js → chunk-5RXB4S5H-NlzrSW7L.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-5VM5RSS4-BNAuTOLE.js → chunk-5VM5RSS4-DfelJv-0.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-6Q2QTUOP-DfzjRD5y.js → chunk-6Q2QTUOP-BK6RFy58.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-GF5L2VYU-C3uE-yc2.js → chunk-GF5L2VYU-BAeh9lz4.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-JWPE2WC7-C3sQMMYr.js → chunk-JWPE2WC7-ChPS5WzG.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-KBJHAD2P-D_AtEYQL.js → chunk-KBJHAD2P-BoVe5IM6.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-RYQCIY6F-DW4TwhKv.js → chunk-RYQCIY6F-C4q_0Lw9.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-XXDRQBXY-CTQDmJcp.js → chunk-XXDRQBXY-Bb9TvjeY.js} +1 -1
- package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-CXNNsY2M.js +1 -0
- package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-CXNNsY2M.js +1 -0
- package/dist/worker/console/static/assets/{cose-bilkent-JH36ORCC-iMqPuBsL.js → cose-bilkent-JH36ORCC-DmNnL8Ff.js} +1 -1
- package/dist/worker/console/static/assets/{cynefin-VYW2F7L2-DktIuDWs.js → cynefin-VYW2F7L2-Contvx58.js} +1 -1
- package/dist/worker/console/static/assets/{cynefinDiagram-MW4NZA55-BgVnjyEs.js → cynefinDiagram-MW4NZA55-Cigq7cjk.js} +1 -1
- package/dist/worker/console/static/assets/{dagre-VZM6K2ZE-CR25E4bu.js → dagre-VZM6K2ZE-dEbC0nxb.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-7IWD3JNH-CPM2h5HY.js → diagram-7IWD3JNH-CzIztESV.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-B4RE2ZJO-DqF0x2g1.js → diagram-B4RE2ZJO-Bo14zbaY.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-LBJQPF4R-G8BYp2eb.js → diagram-LBJQPF4R-C4xUyil6.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-Q27KOJAE-BbC4kT_D.js → diagram-Q27KOJAE-CaBY_uYa.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-UB23O5K3-CKZwZ-G5.js → diagram-UB23O5K3-ClUXUeiu.js} +1 -1
- package/dist/worker/console/static/assets/{ebnfDiagram-BXEA7PRR-kJDmheia.js → ebnfDiagram-BXEA7PRR-BbGCgjC6.js} +1 -1
- package/dist/worker/console/static/assets/{erDiagram-JOGREHBK-DFTVHyxB.js → erDiagram-JOGREHBK-Dr-AcwSl.js} +1 -1
- package/dist/worker/console/static/assets/{flowDiagram-UKHOOZJN-BqdN5_os.js → flowDiagram-UKHOOZJN-BG8Gcfyc.js} +1 -1
- package/dist/worker/console/static/assets/{ganttDiagram-PKOTCBZU-SYDjVakh.js → ganttDiagram-PKOTCBZU-CFVaPs5r.js} +1 -1
- package/dist/worker/console/static/assets/{gitGraphDiagram-DS77QQ5N-Bf8bNpGA.js → gitGraphDiagram-DS77QQ5N-ChJ8pm-O.js} +1 -1
- package/dist/worker/console/static/assets/index-B_5GhVIO.js +488 -0
- package/dist/worker/console/static/assets/index-C7YMBluX.css +1 -0
- package/dist/worker/console/static/assets/{infoDiagram-6WML65LV-DIeAmJ45.js → infoDiagram-6WML65LV-C5J9-uCZ.js} +1 -1
- package/dist/worker/console/static/assets/{ishikawaDiagram-WSZJBQD7-oikqUAlo.js → ishikawaDiagram-WSZJBQD7-BcfjqzDv.js} +1 -1
- package/dist/worker/console/static/assets/{journeyDiagram-NVQOT4AX-mKEF_xYT.js → journeyDiagram-NVQOT4AX-BzzCO-rD.js} +1 -1
- package/dist/worker/console/static/assets/{kanban-definition-27J2QSJJ-BdWJHPnN.js → kanban-definition-27J2QSJJ-NCHUZ46h.js} +1 -1
- package/dist/worker/console/static/assets/{linear-DGRlieMH.js → linear-BKZlWCUU.js} +1 -1
- package/dist/worker/console/static/assets/{mermaid.core-4P9yPC9c.js → mermaid.core-DbTaQjFE.js} +5 -5
- package/dist/worker/console/static/assets/{mindmap-definition-FAOFIHXS-5PTSkos6.js → mindmap-definition-FAOFIHXS-CroYl5xQ.js} +1 -1
- package/dist/worker/console/static/assets/{pegDiagram-VL7TDLO6-DONIFpG5.js → pegDiagram-VL7TDLO6-DgMBx-9k.js} +1 -1
- package/dist/worker/console/static/assets/{pieDiagram-7S7Q4E2Y-D_Z4S70M.js → pieDiagram-7S7Q4E2Y-CyWDmbq1.js} +1 -1
- package/dist/worker/console/static/assets/{quadrantDiagram-CIZ2JOQS-CAsjh8iY.js → quadrantDiagram-CIZ2JOQS-BgGEOqSP.js} +1 -1
- package/dist/worker/console/static/assets/{railroadDiagram-AXF67PYL-Cx4Dd6ac.js → railroadDiagram-AXF67PYL-BMZ7oeeV.js} +1 -1
- package/dist/worker/console/static/assets/{requirementDiagram-LRYGKXZP-cQb7mwyH.js → requirementDiagram-LRYGKXZP-DxqyGhcc.js} +1 -1
- package/dist/worker/console/static/assets/{sankeyDiagram-W5VNT64P-Cd-DhUdf.js → sankeyDiagram-W5VNT64P-DnSvNCG8.js} +1 -1
- package/dist/worker/console/static/assets/{sequenceDiagram-SI44F4Z6-AlKYRgIk.js → sequenceDiagram-SI44F4Z6-BiZh6f-R.js} +1 -1
- package/dist/worker/console/static/assets/{sizeCapture-X5ZJPWSS-CUy_ET4e.js → sizeCapture-X5ZJPWSS-BKXSI8WB.js} +1 -1
- package/dist/worker/console/static/assets/{stateDiagram-OKZ733FA-CTuVe6Sa.js → stateDiagram-OKZ733FA-CfSgoYFm.js} +1 -1
- package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-DgHi3vjb.js +1 -0
- package/dist/worker/console/static/assets/{swimlanes-SLNWSIFB-ChFLJb-v.js → swimlanes-SLNWSIFB-CyGADcHe.js} +2 -2
- package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-Bgvdt1Y0.js +8 -0
- package/dist/worker/console/static/assets/{timeline-definition-Z64GVDOM-DZZeiAPr.js → timeline-definition-Z64GVDOM-HmPaSPOK.js} +1 -1
- package/dist/worker/console/static/assets/{vennDiagram-T6HMQDX7-t4O91cZU.js → vennDiagram-T6HMQDX7-VA2VBbez.js} +1 -1
- package/dist/worker/console/static/assets/{wardleyDiagram-T6FBY63Y-CV5qGHZu.js → wardleyDiagram-T6FBY63Y-BxjiBPZa.js} +1 -1
- package/dist/worker/console/static/assets/{xychartDiagram-ELKLHX3M-DyXbytUI.js → xychartDiagram-ELKLHX3M--hUY-qFj.js} +1 -1
- package/dist/worker/console/static/index.html +2 -2
- package/dist/worker/console/static/pets/ember/pet.json +167 -0
- package/dist/worker/console/static/pets/ember/spritesheet.png +0 -0
- package/dist/worker/console/static-src/operator-chat/details-rail-surfaces.js +4 -3
- package/dist/worker/console/static-src/operator-chat/open-preview-in-browser.js +57 -9
- package/dist/worker/console/static-src/operator-chat/use-stat-dialog.js +95 -0
- package/dist/worker/console/static-src/operator-chat/useRepoBrowser.js +6 -0
- package/dist/worker/console/workspace-context.js +15 -0
- package/dist/worker/console/workspace-initialization.js +25 -16
- package/dist/worker/delivery/package.js +4 -1
- package/dist/worker/materialize/harness-task-lineage.js +4 -2
- package/dist/worker/observe/static/console-theme.css +33 -29
- package/dist/worker/observe/static/operator-chrome.js +1 -42
- package/dist/workflows/dag/backend-test-case-coverage-analysis.js +3 -1
- package/dist/workflows/dag/backend-test-layout.js +27 -7
- package/dist/workflows/dag/backend-test-markdown-workflow.js +3 -1
- package/dist/workflows/dag/backend-test-pytest-collection.js +4 -1
- package/dist/workflows/dag/final-verification.js +45 -10
- package/dist/workflows/dag/frontend-test-case-checklist.js +12 -3
- package/dist/workflows/dag/frontend-test-environment-probe.js +0 -2
- package/dist/workflows/dag/frontend-test-layout.js +41 -12
- package/dist/workflows/dag/hybrid/sources.js +35 -16
- package/dist/workflows/dag/hybrid/templates/backend-test.js +70 -55
- package/dist/workflows/dag/hybrid/templates/frontend-test.js +62 -41
- package/dist/workflows/dag/hybrid/templates/kg-bootstrap.js +6 -6
- package/dist/workflows/dag/hybrid/templates/knowledge-sync.js +5 -5
- package/dist/workflows/dag/skill-instructions.js +102 -32
- package/dist/workflows/dag/skill-snapshot.js +3 -0
- package/dist/workflows/dag/skills.js +7 -7
- package/dist/workflows/dag/test-artifact-namespace.js +73 -0
- package/dist/workflows/dag/validate.js +24 -5
- package/dist/workflows/dag/workspace-checkpoint.js +13 -1
- package/docs/architecture/runtime-boundaries.md +28 -22
- package/docs/init-surface.manifest.json +43 -295
- package/docs/templates/README.md +4 -4
- package/docs/templates/agent-dag.base.json +9 -9
- package/docs/templates/agent-dag.final-verification.json +6 -6
- package/docs/templates/agent-dag.supervised-implementation.json +12 -12
- package/docs/templates/backend-test-dag.generate-pytest.prompt.md +3 -3
- package/docs/templates/backend-test-dag.json +708 -708
- package/docs/templates/backend-test-dag.review-cases.prompt.md +3 -3
- package/docs/templates/frontend-implementation-dag.json +2 -2
- package/docs/templates/frontend-test-case-checklist.md +2 -2
- package/docs/templates/frontend-test-dag.generate-cases.prompt.md +7 -7
- package/docs/templates/frontend-test-dag.json +48 -39
- package/docs/templates/frontend-test-dag.retrieve-context.prompt.md +2 -2
- package/docs/templates/frontend-test-dag.retrospect.prompt.md +1 -1
- package/docs/templates/frontend-test-dag.review-cases.prompt.md +1 -1
- package/docs/templates/hybrid-dag.json +9 -9
- package/docs/templates/knowledge-sync-dag.json +8 -8
- package/package.json +12 -3
- package/resource-catalog.v1.json +1973 -0
- package/resources/agent-bridge/loop-agent/SKILL.md +40 -0
- package/resources/init-history/legacy-surface.v1.json +33 -0
- package/skills/fe-test-ui-scout/SKILL.md +4 -4
- package/skills/fe-test-ui-scout/references/ledger-schema.md +1 -1
- package/skills/init-update/SKILL.md +34 -0
- package/skills/init-update/agents/openai.yaml +6 -0
- package/skills/playwright-cli/SKILL.md +1 -1
- package/skills/playwright-cli-case-generator/SKILL.md +4 -4
- package/dist/worker/console/static/assets/channel-CyBY_yGk.js +0 -1
- package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-D5lN4E_E.js +0 -1
- package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-D5lN4E_E.js +0 -1
- package/dist/worker/console/static/assets/index-B28Onmfy.css +0 -1
- package/dist/worker/console/static/assets/index-CTMZsDmh.js +0 -486
- package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-BsWhs8O7.js +0 -1
- package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-CJcioYGH.js +0 -8
|
@@ -1,284 +1,27 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version":
|
|
3
|
-
"description": "Machine-checked contract for
|
|
2
|
+
"version": 2,
|
|
3
|
+
"description": "Machine-checked contract for package resources and the minimal target-project initialization surface.",
|
|
4
|
+
"resourceCatalog": "resource-catalog.v1.json",
|
|
4
5
|
"packageRequired": [
|
|
5
6
|
"AGENTS.md",
|
|
6
7
|
"CHANGELOG.md",
|
|
7
8
|
"README.md",
|
|
8
9
|
"harness.json",
|
|
9
10
|
"bin/loop-agent.js",
|
|
10
|
-
"
|
|
11
|
-
"docs/governance/harness-methodology-tdd.md",
|
|
12
|
-
"docs/governance/harness-methodology-verification.md",
|
|
13
|
-
"docs/governance/harness-methodology-debugging.md",
|
|
14
|
-
"docs/operations/local-development-environment.md",
|
|
11
|
+
"bin/agent-worker.js",
|
|
15
12
|
"docs/init-surface.manifest.json",
|
|
16
13
|
"docs/architecture/runtime-boundaries.md",
|
|
17
|
-
"docs/architecture/README.md",
|
|
18
|
-
"docs/architecture/system-overview.md",
|
|
19
|
-
"docs/architecture/dag-execution.md",
|
|
20
|
-
"docs/architecture/worker-and-feature.md",
|
|
21
|
-
"docs/architecture/facts-and-state.md",
|
|
22
|
-
"docs/architecture/evolution.md",
|
|
23
|
-
"docs/skills/README.md",
|
|
24
|
-
"docs/skills/vetted-skill-registry.md",
|
|
25
|
-
"docs/templates/README.md",
|
|
26
|
-
"docs/templates/init-managed-agents.md",
|
|
27
|
-
"docs/templates/init-evolution-review.md",
|
|
28
|
-
"docs/templates/exec-plan.md",
|
|
29
|
-
"docs/templates/production-readiness-checklist.md",
|
|
30
|
-
"docs/templates/frontend-task-requirement.md",
|
|
31
|
-
"docs/templates/frontend-task-constraints.md",
|
|
32
|
-
"docs/templates/frontend-design-contract.md",
|
|
33
|
-
"docs/templates/frontend-implementation-contract.schema.json",
|
|
34
|
-
"docs/templates/worker-dogfood-setup.md",
|
|
35
|
-
"docs/templates/worker-dogfood-evidence.md",
|
|
36
14
|
"docs/templates/harness.schema.json",
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"docs/templates/product-line/README.md",
|
|
40
|
-
"docs/templates/product-line/AGENTS.md",
|
|
41
|
-
"docs/templates/product-line/requirement.md",
|
|
42
|
-
"docs/templates/product-line/acceptance.yaml",
|
|
43
|
-
"docs/templates/product-line/design.md",
|
|
44
|
-
"docs/templates/product-line/test-plan.md",
|
|
45
|
-
"docs/templates/product-line/task-graph.yaml",
|
|
46
|
-
"docs/templates/product-line/task.yaml",
|
|
47
|
-
"docs/templates/product-line/feature.yaml",
|
|
48
|
-
"docs/templates/product-line/closeout.yaml",
|
|
49
|
-
"docs/templates/product-line/links.md",
|
|
50
|
-
"scripts/kb-bootstrap-init-skeleton.sh",
|
|
51
|
-
"scripts/kb-query.mjs",
|
|
52
|
-
"scripts/kb-graph-materialize.mjs",
|
|
53
|
-
"scripts/kb-graph-promote.mjs",
|
|
54
|
-
"scripts/kb-graph-incremental-prepare.mjs",
|
|
55
|
-
"scripts/next-info.mjs",
|
|
56
|
-
"scripts/next-publish-gate.mjs",
|
|
57
|
-
"scripts/release-source-binding.mjs",
|
|
58
|
-
"docs/templates/agent-dag.schema.json",
|
|
59
|
-
"examples/example-dag.json",
|
|
15
|
+
"resource-catalog.v1.json",
|
|
16
|
+
"resources/agent-bridge/loop-agent/SKILL.md",
|
|
60
17
|
"skills/agent-worker/SKILL.md",
|
|
61
|
-
"skills/agent
|
|
62
|
-
"skills/loop-agent/SKILL.md",
|
|
63
|
-
"skills/loop-agent/references/command-reference.md",
|
|
64
|
-
"skills/loop-agent/references/hybrid-dag.md",
|
|
65
|
-
"skills/loop-agent/references/source-and-plan-practice.md",
|
|
66
|
-
"skills/loop-agent/references/docs-converge.md",
|
|
67
|
-
"skills/ai-engineering-context/SKILL.md",
|
|
68
|
-
"skills/verification-before-completion/SKILL.md",
|
|
69
|
-
"skills/systematic-debugging/SKILL.md",
|
|
70
|
-
"skills/requesting-code-review/SKILL.md",
|
|
71
|
-
"skills/codebase-scout/SKILL.md",
|
|
72
|
-
"skills/test-driven-development/SKILL.md",
|
|
73
|
-
"skills/code-review-core/SKILL.md",
|
|
74
|
-
"skills/init-capability-evolution/SKILL.md",
|
|
75
|
-
"skills/grill-with-docs/SKILL.md",
|
|
76
|
-
"skills/grill-with-docs/context-format.md",
|
|
77
|
-
"skills/grill-with-docs/adr-format.md",
|
|
78
|
-
"skills/webapp-testing/SKILL.md",
|
|
79
|
-
"skills/playwright-cli/SKILL.md",
|
|
80
|
-
"skills/playwright-cli-case-generator/SKILL.md",
|
|
81
|
-
"skills/frontend-contract/SKILL.md",
|
|
82
|
-
"skills/frontend-contract/references/contract-protocol.md",
|
|
83
|
-
"skills/frontend-scout/SKILL.md",
|
|
84
|
-
"skills/frontend-scout/references/scout-evidence.md",
|
|
85
|
-
"skills/frontend-scout/references/design-evidence.md",
|
|
86
|
-
"skills/frontend-plan/SKILL.md",
|
|
87
|
-
"skills/frontend-plan/references/decision-contract.md",
|
|
88
|
-
"skills/frontend-plan/references/design-decisions.md",
|
|
89
|
-
"skills/frontend-bounded-implement/SKILL.md",
|
|
90
|
-
"skills/frontend-bounded-implement/references/code-standards.md",
|
|
91
|
-
"skills/frontend-design-review/SKILL.md",
|
|
92
|
-
"skills/frontend-design-review/references/review-checklist.md",
|
|
93
|
-
"skills/frontend-review/SKILL.md",
|
|
94
|
-
"skills/frontend-review/references/review-findings.md",
|
|
95
|
-
"skills/frontend-verification/SKILL.md",
|
|
96
|
-
"skills/frontend-verification/references/verification-checklist.md",
|
|
97
|
-
"docs/templates/backend-test-analysis.schema.json",
|
|
98
|
-
"docs/templates/backend-test-execution.schema.json",
|
|
99
|
-
"docs/templates/backend-test-result.schema.json",
|
|
100
|
-
"docs/templates/backend-test-case-manifest.schema.json"
|
|
101
|
-
],
|
|
102
|
-
"initFullRequired": [
|
|
103
|
-
"README.md",
|
|
104
|
-
"AGENTS.md",
|
|
105
|
-
".gitignore",
|
|
106
|
-
"harness.json",
|
|
107
|
-
"docs/README.md",
|
|
108
|
-
"docs/development-principles.md",
|
|
109
|
-
"docs/feature-workflow.md",
|
|
110
|
-
"docs/verification-matrix.md",
|
|
111
|
-
"docs/loop-agent-harness.md",
|
|
112
|
-
"docs/spec-registry.json",
|
|
113
|
-
"docs/harness-methodology-tdd.md",
|
|
114
|
-
"docs/harness-methodology-verification.md",
|
|
115
|
-
"docs/harness-methodology-debugging.md",
|
|
116
|
-
"docs/templates/README.md",
|
|
117
|
-
"docs/templates/init-evolution-review.md",
|
|
118
|
-
"docs/templates/production-readiness-checklist.md",
|
|
119
|
-
"docs/templates/frontend-task-requirement.md",
|
|
120
|
-
"docs/templates/frontend-task-constraints.md",
|
|
121
|
-
"docs/templates/frontend-design-contract.md",
|
|
122
|
-
"docs/templates/worker-dogfood-setup.md",
|
|
123
|
-
"docs/templates/worker-dogfood-evidence.md",
|
|
124
|
-
"docs/templates/harness.schema.json",
|
|
125
|
-
"docs/templates/interactive-ui-round2-experiment.md",
|
|
126
|
-
"docs/templates/product-line/README.md",
|
|
127
|
-
"docs/templates/product-line/AGENTS.md",
|
|
128
|
-
"docs/templates/product-line/requirement.md",
|
|
129
|
-
"docs/templates/product-line/acceptance.yaml",
|
|
130
|
-
"docs/templates/product-line/design.md",
|
|
131
|
-
"docs/templates/product-line/test-plan.md",
|
|
132
|
-
"docs/templates/product-line/task-graph.yaml",
|
|
133
|
-
"docs/templates/product-line/task.yaml",
|
|
134
|
-
"docs/templates/product-line/feature.yaml",
|
|
135
|
-
"docs/templates/product-line/closeout.yaml",
|
|
136
|
-
"docs/templates/product-line/links.md",
|
|
137
|
-
"scripts/check-skill-entry.sh",
|
|
138
|
-
"scripts/check-product-line-docs.sh",
|
|
139
|
-
"scripts/check-repo.sh",
|
|
140
|
-
"scripts/ci-governance.sh",
|
|
141
|
-
"scripts/ci-tests.sh",
|
|
142
|
-
"scripts/ci.sh",
|
|
143
|
-
".harness/prompts/analyze.md",
|
|
144
|
-
".harness/tasks",
|
|
145
|
-
".harness/dag-runs/active",
|
|
146
|
-
".agents/skills/agent-worker/SKILL.md",
|
|
147
|
-
".agents/skills/agent-worker/references/agent-worker-operator.md",
|
|
148
|
-
".agents/skills/loop-agent/SKILL.md",
|
|
149
|
-
".agents/skills/loop-agent/references/command-reference.md",
|
|
150
|
-
".agents/skills/loop-agent/references/hybrid-dag.md",
|
|
151
|
-
".agents/skills/loop-agent/references/source-and-plan-practice.md",
|
|
152
|
-
".agents/skills/loop-agent/references/docs-converge.md",
|
|
153
|
-
".agents/skills/ai-engineering-context/SKILL.md",
|
|
154
|
-
".agents/skills/verification-before-completion/SKILL.md",
|
|
155
|
-
".agents/skills/systematic-debugging/SKILL.md",
|
|
156
|
-
".agents/skills/requesting-code-review/SKILL.md",
|
|
157
|
-
".agents/skills/codebase-scout/SKILL.md",
|
|
158
|
-
".agents/skills/test-driven-development/SKILL.md",
|
|
159
|
-
".agents/skills/code-review-core/SKILL.md",
|
|
160
|
-
".agents/skills/init-capability-evolution/SKILL.md",
|
|
161
|
-
".agents/skills/grill-with-docs/SKILL.md",
|
|
162
|
-
".agents/skills/grill-with-docs/context-format.md",
|
|
163
|
-
".agents/skills/grill-with-docs/adr-format.md",
|
|
164
|
-
".agents/skills/webapp-testing/SKILL.md",
|
|
165
|
-
".agents/skills/playwright-cli/SKILL.md",
|
|
166
|
-
".agents/skills/playwright-cli-case-generator/SKILL.md",
|
|
167
|
-
".agents/skills/frontend-contract/SKILL.md",
|
|
168
|
-
".agents/skills/frontend-contract/references/contract-protocol.md",
|
|
169
|
-
".agents/skills/frontend-scout/SKILL.md",
|
|
170
|
-
".agents/skills/frontend-scout/references/scout-evidence.md",
|
|
171
|
-
".agents/skills/frontend-scout/references/design-evidence.md",
|
|
172
|
-
".agents/skills/frontend-plan/SKILL.md",
|
|
173
|
-
".agents/skills/frontend-plan/references/decision-contract.md",
|
|
174
|
-
".agents/skills/frontend-plan/references/design-decisions.md",
|
|
175
|
-
".agents/skills/frontend-bounded-implement/SKILL.md",
|
|
176
|
-
".agents/skills/frontend-bounded-implement/references/code-standards.md",
|
|
177
|
-
".agents/skills/frontend-design-review/SKILL.md",
|
|
178
|
-
".agents/skills/frontend-design-review/references/review-checklist.md",
|
|
179
|
-
".agents/skills/frontend-review/SKILL.md",
|
|
180
|
-
".agents/skills/frontend-review/references/review-findings.md",
|
|
181
|
-
".agents/skills/frontend-verification/SKILL.md",
|
|
182
|
-
".agents/skills/frontend-verification/references/verification-checklist.md",
|
|
183
|
-
"docs/templates/backend-test-analysis.schema.json",
|
|
184
|
-
"docs/templates/backend-test-execution.schema.json",
|
|
185
|
-
"docs/templates/backend-test-result.schema.json",
|
|
186
|
-
"docs/templates/backend-test-case-manifest.schema.json",
|
|
187
|
-
".opencode/plugins/loop-agent-transient-retry.js",
|
|
188
|
-
".opencode/plugins/loop-agent-context-overflow-compact.js",
|
|
189
|
-
".pi/extensions/loop-agent-context-overflow.js",
|
|
190
|
-
".pi/settings.json"
|
|
18
|
+
"skills/loop-agent/SKILL.md"
|
|
191
19
|
],
|
|
192
20
|
"initSurface": {
|
|
193
|
-
"docs/spec-registry.json": "generated",
|
|
194
|
-
"README.md": "managed-block",
|
|
195
|
-
"AGENTS.md": "managed-block",
|
|
196
21
|
".gitignore": "managed-block",
|
|
197
22
|
"harness.json": "generated",
|
|
198
|
-
"docs/README.md": "generated",
|
|
199
|
-
"docs/development-principles.md": "generated",
|
|
200
|
-
"docs/feature-workflow.md": "generated",
|
|
201
|
-
"docs/verification-matrix.md": "generated",
|
|
202
|
-
"docs/loop-agent-harness.md": "generated",
|
|
203
|
-
"docs/harness-methodology-tdd.md": "copied",
|
|
204
|
-
"docs/harness-methodology-verification.md": "copied",
|
|
205
|
-
"docs/harness-methodology-debugging.md": "copied",
|
|
206
|
-
"docs/templates/README.md": "copied",
|
|
207
|
-
"docs/templates/init-evolution-review.md": "copied",
|
|
208
|
-
"docs/templates/production-readiness-checklist.md": "copied",
|
|
209
|
-
"docs/templates/frontend-task-requirement.md": "copied",
|
|
210
|
-
"docs/templates/frontend-task-constraints.md": "copied",
|
|
211
|
-
"docs/templates/frontend-design-contract.md": "copied",
|
|
212
|
-
"docs/templates/worker-dogfood-setup.md": "copied",
|
|
213
|
-
"docs/templates/worker-dogfood-evidence.md": "copied",
|
|
214
|
-
"docs/templates/harness.schema.json": "copied",
|
|
215
|
-
"docs/templates/interactive-ui-round2-experiment.md": "copied",
|
|
216
|
-
"docs/templates/product-line/README.md": "copied",
|
|
217
|
-
"docs/templates/product-line/AGENTS.md": "copied",
|
|
218
|
-
"docs/templates/product-line/requirement.md": "copied",
|
|
219
|
-
"docs/templates/product-line/acceptance.yaml": "copied",
|
|
220
|
-
"docs/templates/product-line/design.md": "copied",
|
|
221
|
-
"docs/templates/product-line/test-plan.md": "copied",
|
|
222
|
-
"docs/templates/product-line/task-graph.yaml": "copied",
|
|
223
|
-
"docs/templates/product-line/task.yaml": "copied",
|
|
224
|
-
"docs/templates/product-line/feature.yaml": "copied",
|
|
225
|
-
"docs/templates/product-line/closeout.yaml": "copied",
|
|
226
|
-
"docs/templates/product-line/links.md": "copied",
|
|
227
|
-
"scripts/check-skill-entry.sh": "generated",
|
|
228
|
-
"scripts/check-product-line-docs.sh": "generated",
|
|
229
|
-
"scripts/check-repo.sh": "generated",
|
|
230
|
-
"scripts/ci-governance.sh": "generated",
|
|
231
|
-
"scripts/ci-tests.sh": "generated",
|
|
232
|
-
"scripts/ci.sh": "generated",
|
|
233
|
-
".harness/prompts/analyze.md": "generated",
|
|
234
|
-
".harness/tasks": "directory",
|
|
235
|
-
".harness/dag-runs/active": "directory",
|
|
236
|
-
".harness/init-surface.json": "state",
|
|
237
|
-
".agents/skills/agent-worker/SKILL.md": "copied",
|
|
238
|
-
".agents/skills/agent-worker/references/agent-worker-operator.md": "copied",
|
|
239
23
|
".agents/skills/loop-agent/SKILL.md": "copied",
|
|
240
|
-
".
|
|
241
|
-
".agents/skills/loop-agent/references/hybrid-dag.md": "copied",
|
|
242
|
-
".agents/skills/loop-agent/references/source-and-plan-practice.md": "copied",
|
|
243
|
-
".agents/skills/loop-agent/references/docs-converge.md": "copied",
|
|
244
|
-
".agents/skills/ai-engineering-context/SKILL.md": "copied",
|
|
245
|
-
".agents/skills/verification-before-completion/SKILL.md": "copied",
|
|
246
|
-
".agents/skills/systematic-debugging/SKILL.md": "copied",
|
|
247
|
-
".agents/skills/requesting-code-review/SKILL.md": "copied",
|
|
248
|
-
".agents/skills/codebase-scout/SKILL.md": "copied",
|
|
249
|
-
".agents/skills/test-driven-development/SKILL.md": "copied",
|
|
250
|
-
".agents/skills/code-review-core/SKILL.md": "copied",
|
|
251
|
-
".agents/skills/init-capability-evolution/SKILL.md": "copied",
|
|
252
|
-
".agents/skills/grill-with-docs/SKILL.md": "copied",
|
|
253
|
-
".agents/skills/grill-with-docs/context-format.md": "copied",
|
|
254
|
-
".agents/skills/grill-with-docs/adr-format.md": "copied",
|
|
255
|
-
".agents/skills/webapp-testing/SKILL.md": "copied",
|
|
256
|
-
".agents/skills/playwright-cli/SKILL.md": "copied",
|
|
257
|
-
".agents/skills/playwright-cli-case-generator/SKILL.md": "copied",
|
|
258
|
-
".agents/skills/frontend-contract/SKILL.md": "copied",
|
|
259
|
-
".agents/skills/frontend-contract/references/contract-protocol.md": "copied",
|
|
260
|
-
".agents/skills/frontend-scout/SKILL.md": "copied",
|
|
261
|
-
".agents/skills/frontend-scout/references/scout-evidence.md": "copied",
|
|
262
|
-
".agents/skills/frontend-scout/references/design-evidence.md": "copied",
|
|
263
|
-
".agents/skills/frontend-plan/SKILL.md": "copied",
|
|
264
|
-
".agents/skills/frontend-plan/references/decision-contract.md": "copied",
|
|
265
|
-
".agents/skills/frontend-plan/references/design-decisions.md": "copied",
|
|
266
|
-
".agents/skills/frontend-bounded-implement/SKILL.md": "copied",
|
|
267
|
-
".agents/skills/frontend-bounded-implement/references/code-standards.md": "copied",
|
|
268
|
-
".agents/skills/frontend-design-review/SKILL.md": "copied",
|
|
269
|
-
".agents/skills/frontend-design-review/references/review-checklist.md": "copied",
|
|
270
|
-
".agents/skills/frontend-review/SKILL.md": "copied",
|
|
271
|
-
".agents/skills/frontend-review/references/review-findings.md": "copied",
|
|
272
|
-
".agents/skills/frontend-verification/SKILL.md": "copied",
|
|
273
|
-
".agents/skills/frontend-verification/references/verification-checklist.md": "copied",
|
|
274
|
-
"docs/templates/backend-test-analysis.schema.json": "copied",
|
|
275
|
-
"docs/templates/backend-test-execution.schema.json": "copied",
|
|
276
|
-
"docs/templates/backend-test-result.schema.json": "copied",
|
|
277
|
-
"docs/templates/backend-test-case-manifest.schema.json": "copied",
|
|
278
|
-
".opencode/plugins/loop-agent-transient-retry.js": "generated",
|
|
279
|
-
".opencode/plugins/loop-agent-context-overflow-compact.js": "generated",
|
|
280
|
-
".pi/extensions/loop-agent-context-overflow.js": "generated",
|
|
281
|
-
".pi/settings.json": "generated"
|
|
24
|
+
".harness/init-surface.json": "state"
|
|
282
25
|
},
|
|
283
26
|
"packageExcluded": [
|
|
284
27
|
"docs/progress/20*.md",
|
|
@@ -288,9 +31,18 @@
|
|
|
288
31
|
"docs/exec-plans/completed/20*.md"
|
|
289
32
|
],
|
|
290
33
|
"initExcluded": [
|
|
291
|
-
"
|
|
292
|
-
"
|
|
293
|
-
"
|
|
34
|
+
"README.md",
|
|
35
|
+
"AGENTS.md",
|
|
36
|
+
"ai_workspace/loop-agent",
|
|
37
|
+
"scripts",
|
|
38
|
+
".harness/prompts",
|
|
39
|
+
".harness/tasks",
|
|
40
|
+
".harness/dag-runs",
|
|
41
|
+
".agents/skills/agent-worker",
|
|
42
|
+
".opencode/plugins/loop-agent-transient-retry.js",
|
|
43
|
+
".opencode/plugins/loop-agent-context-overflow-compact.js",
|
|
44
|
+
".pi/extensions/loop-agent-context-overflow.js",
|
|
45
|
+
".pi/settings.json"
|
|
294
46
|
],
|
|
295
47
|
"reviewTriggers": [
|
|
296
48
|
"AGENTS.md",
|
|
@@ -298,19 +50,16 @@
|
|
|
298
50
|
"CHANGELOG.md",
|
|
299
51
|
"harness.json",
|
|
300
52
|
"package.json",
|
|
53
|
+
"resource-catalog.v1.json",
|
|
54
|
+
"resources/**",
|
|
301
55
|
"src/commands/init.ts",
|
|
302
|
-
"src/commands/init-model-catalog.ts",
|
|
303
|
-
"src/commands/client-recovery.ts",
|
|
304
56
|
"src/commands/init-upgrade.ts",
|
|
305
|
-
"src/
|
|
306
|
-
"src/
|
|
307
|
-
"src/
|
|
308
|
-
"src/cli/update/runtime-activity.ts",
|
|
57
|
+
"src/governance/project-config.ts",
|
|
58
|
+
"src/governance/project-capability-scanner.ts",
|
|
59
|
+
"src/governance/resource-catalog.ts",
|
|
309
60
|
"src/workflows/dag/skills.ts",
|
|
310
|
-
"src/workflows/dag/init-hybrid.ts",
|
|
311
61
|
"src/workflows/dag/skill-instructions.ts",
|
|
312
62
|
"docs/templates/**",
|
|
313
|
-
"docs/skills/**",
|
|
314
63
|
"skills/**",
|
|
315
64
|
"scripts/**"
|
|
316
65
|
],
|
|
@@ -322,25 +71,23 @@
|
|
|
322
71
|
"name": "model-review",
|
|
323
72
|
"severity": "high",
|
|
324
73
|
"strictRequiresReport": true,
|
|
325
|
-
"description": "Changes that may alter
|
|
74
|
+
"description": "Changes that may alter minimal initialization, migration ownership, normalized project context, package resources, or DAG Skill resolution.",
|
|
326
75
|
"patterns": [
|
|
327
76
|
"src/commands/init.ts",
|
|
328
|
-
"src/commands/init-model-catalog.ts",
|
|
329
|
-
"src/commands/client-recovery.ts",
|
|
330
77
|
"src/commands/init-upgrade.ts",
|
|
331
|
-
"src/cli.ts",
|
|
332
78
|
"src/cli/update/init-surface-notifier.ts",
|
|
333
79
|
"src/cli/update/policy.ts",
|
|
334
|
-
"src/
|
|
80
|
+
"src/shared/runtime-activity.ts",
|
|
81
|
+
"src/governance/project-config.ts",
|
|
82
|
+
"src/governance/project-capability-scanner.ts",
|
|
83
|
+
"src/governance/resource-catalog.ts",
|
|
335
84
|
"src/workflows/dag/skills.ts",
|
|
336
|
-
"src/workflows/dag/init-hybrid.ts",
|
|
337
85
|
"src/workflows/dag/skill-instructions.ts",
|
|
338
|
-
"src/workflows/dag/prompt.ts",
|
|
339
|
-
"src/workflows/dag/node-execution.ts",
|
|
340
86
|
"docs/init-surface.manifest.json",
|
|
87
|
+
"resource-catalog.v1.json",
|
|
88
|
+
"resources/**",
|
|
341
89
|
"package.json",
|
|
342
90
|
"harness.json",
|
|
343
|
-
"AGENTS.md",
|
|
344
91
|
"README.md"
|
|
345
92
|
]
|
|
346
93
|
},
|
|
@@ -348,20 +95,22 @@
|
|
|
348
95
|
"name": "surface-check",
|
|
349
96
|
"severity": "medium",
|
|
350
97
|
"strictRequiresReport": false,
|
|
351
|
-
"description": "
|
|
98
|
+
"description": "Package resource and bridge changes that require deterministic catalog, package, and minimal-init checks.",
|
|
352
99
|
"patterns": [
|
|
353
100
|
"skills/**",
|
|
354
101
|
"docs/templates/**",
|
|
355
|
-
"
|
|
102
|
+
"resources/**",
|
|
103
|
+
"resource-catalog.v1.json",
|
|
356
104
|
"scripts/check-init-surface.sh",
|
|
357
|
-
"scripts/check-
|
|
105
|
+
"scripts/check-skill-entry.sh",
|
|
106
|
+
"scripts/generate-resource-catalog.mjs"
|
|
358
107
|
]
|
|
359
108
|
},
|
|
360
109
|
{
|
|
361
110
|
"name": "advisory",
|
|
362
111
|
"severity": "low",
|
|
363
112
|
"strictRequiresReport": false,
|
|
364
|
-
"description": "
|
|
113
|
+
"description": "User-facing guidance changes that should be reviewed without slowing normal iteration.",
|
|
365
114
|
"patterns": [
|
|
366
115
|
"CHANGELOG.md",
|
|
367
116
|
"CHANGELOG/**",
|
|
@@ -372,12 +121,11 @@
|
|
|
372
121
|
}
|
|
373
122
|
],
|
|
374
123
|
"modelReviewQuestions": [
|
|
375
|
-
"Does this change alter
|
|
376
|
-
"Does a
|
|
377
|
-
"
|
|
378
|
-
"
|
|
379
|
-
"
|
|
380
|
-
"Do older initialized target projects need a migration note, manual copy guidance, or future init audit/update support?"
|
|
124
|
+
"Does this change alter the four-file minimal init surface or old-project migration ownership?",
|
|
125
|
+
"Does a runtime resource belong in the package catalog instead of the target project?",
|
|
126
|
+
"Can a project or user Skill shadow a builtin Skill, or can resume observe live package drift?",
|
|
127
|
+
"Can tracked project verification be removed or weakened by local harness settings?",
|
|
128
|
+
"Do package files, the resource catalog, and the init manifest describe the same shipped bytes?"
|
|
381
129
|
]
|
|
382
130
|
}
|
|
383
131
|
}
|
package/docs/templates/README.md
CHANGED
|
@@ -42,15 +42,15 @@
|
|
|
42
42
|
- `frontend-test-dag.json` — frontend-test DAG 模板;其 deterministic checklist 会拒绝 alternative executable instructions,仅允许 allowlisted `playwright-cli` command。Pi generator/reviser 的 runtime writeSet 仅授权下列目标项目生成路径(不是本仓库文档索引目标):
|
|
43
43
|
|
|
44
44
|
~~~text
|
|
45
|
-
testcase/frontend/cases/FE-*.md
|
|
46
|
-
testcase/frontend/cases/index.md
|
|
47
|
-
testcase/frontend/cases/manifest.draft.json
|
|
45
|
+
.harness/testcase/frontend/cases/FE-*.md
|
|
46
|
+
.harness/testcase/frontend/cases/index.md
|
|
47
|
+
.harness/testcase/frontend/cases/manifest.draft.json
|
|
48
48
|
~~~
|
|
49
49
|
|
|
50
50
|
Pi writer writeSet 不包含 final manifest(文件名 manifest.json)。依赖 checklist 的 exclusive shell materializer 是 final manifest 的唯一写入者,以 temp+rename 原子生成 final,后续 map 只消费该 materializer 输出。
|
|
51
51
|
- `frontend-test-dag.retrieve-context.prompt.md`、`frontend-test-dag.generate-cases.prompt.md`、`frontend-test-dag.review-cases.prompt.md`、`frontend-test-dag.review-execution.prompt.md`、`frontend-test-dag.retrospect.prompt.md` — 上下文、用例、审查、执行审查和复盘提示。
|
|
52
52
|
- `frontend-test-case-checklist.md` — 前端测试用例检查清单。
|
|
53
|
-
- `frontend-test-standard-scenarios.v1.json` — frontend-test 标准场景规范(generate 覆盖 must 场景;运行时可物化到目标项目 testcase/frontend/rag 下的 standard-scenarios.v1.json)。
|
|
53
|
+
- `frontend-test-standard-scenarios.v1.json` — frontend-test 标准场景规范(generate 覆盖 must 场景;运行时可物化到目标项目 .harness/testcase/frontend/rag 下的 standard-scenarios.v1.json)。
|
|
54
54
|
|
|
55
55
|
## 知识同步与配置
|
|
56
56
|
|
|
@@ -30,30 +30,30 @@
|
|
|
30
30
|
"executor": "pi",
|
|
31
31
|
"contextProfile": "slim",
|
|
32
32
|
"skills": [
|
|
33
|
-
"ai-engineering-context"
|
|
33
|
+
"builtin:ai-engineering-context"
|
|
34
34
|
],
|
|
35
35
|
"writePolicy": "read-only"
|
|
36
36
|
},
|
|
37
37
|
"skillsByRole": {
|
|
38
38
|
"planner": [
|
|
39
|
-
"loop-agent"
|
|
39
|
+
"builtin:loop-agent"
|
|
40
40
|
],
|
|
41
41
|
"scout": [
|
|
42
|
-
"ai-engineering-context"
|
|
42
|
+
"builtin:ai-engineering-context"
|
|
43
43
|
],
|
|
44
44
|
"implementer": [
|
|
45
|
-
"verification-before-completion"
|
|
45
|
+
"builtin:verification-before-completion"
|
|
46
46
|
],
|
|
47
47
|
"reviewer": [
|
|
48
|
-
"requesting-code-review"
|
|
48
|
+
"builtin:requesting-code-review"
|
|
49
49
|
],
|
|
50
50
|
"verifier": [
|
|
51
|
-
"verification-before-completion",
|
|
52
|
-
"systematic-debugging"
|
|
51
|
+
"builtin:verification-before-completion",
|
|
52
|
+
"builtin:systematic-debugging"
|
|
53
53
|
],
|
|
54
54
|
"closeout": [
|
|
55
|
-
"loop-agent",
|
|
56
|
-
"verification-before-completion"
|
|
55
|
+
"builtin:loop-agent",
|
|
56
|
+
"builtin:verification-before-completion"
|
|
57
57
|
]
|
|
58
58
|
},
|
|
59
59
|
"executorModels": {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"static-invariant-shell uses task-scoped constraints only",
|
|
9
9
|
"changeset-impact-shell can skip with an explicit reason when the repo has no changesets/release impact",
|
|
10
10
|
"closeout-artifact-shell runs before final-verify-shell",
|
|
11
|
-
"final-verify-shell uses
|
|
11
|
+
"final-verify-shell uses Task Contract, normalized project verification, or bounded capability-scan commands without host-specific wrappers"
|
|
12
12
|
],
|
|
13
13
|
"globalConstraints": [
|
|
14
14
|
"Do not implement Project Policy Gate",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"contextProfile": "slim",
|
|
22
22
|
"writePolicy": "read-only",
|
|
23
23
|
"skills": [
|
|
24
|
-
"ai-engineering-context"
|
|
24
|
+
"builtin:ai-engineering-context"
|
|
25
25
|
]
|
|
26
26
|
},
|
|
27
27
|
"executorModels": {
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
},
|
|
34
34
|
"skillsByRole": {
|
|
35
35
|
"verifier": [
|
|
36
|
-
"verification-before-completion"
|
|
36
|
+
"builtin:verification-before-completion"
|
|
37
37
|
],
|
|
38
38
|
"closeout": [
|
|
39
|
-
"loop-agent",
|
|
40
|
-
"verification-before-completion"
|
|
39
|
+
"builtin:loop-agent",
|
|
40
|
+
"builtin:verification-before-completion"
|
|
41
41
|
]
|
|
42
42
|
},
|
|
43
43
|
"tasks": [
|
|
@@ -158,7 +158,7 @@
|
|
|
158
158
|
],
|
|
159
159
|
"shell": {
|
|
160
160
|
"commands": [
|
|
161
|
-
"
|
|
161
|
+
"REPLACE_WITH_PROJECT_VERIFICATION_COMMAND"
|
|
162
162
|
]
|
|
163
163
|
},
|
|
164
164
|
"outputContract": "Final verification evidence captured after closeout artifact creation.",
|
|
@@ -50,35 +50,35 @@
|
|
|
50
50
|
"executor": "pi",
|
|
51
51
|
"contextProfile": "slim",
|
|
52
52
|
"skills": [
|
|
53
|
-
"ai-engineering-context"
|
|
53
|
+
"builtin:ai-engineering-context"
|
|
54
54
|
],
|
|
55
55
|
"writePolicy": "read-only"
|
|
56
56
|
},
|
|
57
57
|
"skillsByRole": {
|
|
58
58
|
"planner": [
|
|
59
|
-
"loop-agent"
|
|
59
|
+
"builtin:loop-agent"
|
|
60
60
|
],
|
|
61
61
|
"scout": [
|
|
62
|
-
"ai-engineering-context"
|
|
62
|
+
"builtin:ai-engineering-context"
|
|
63
63
|
],
|
|
64
64
|
"implementer": [
|
|
65
|
-
"verification-before-completion"
|
|
65
|
+
"builtin:verification-before-completion"
|
|
66
66
|
],
|
|
67
67
|
"reviewer": [
|
|
68
|
-
"requesting-code-review",
|
|
69
|
-
"verification-before-completion"
|
|
68
|
+
"builtin:requesting-code-review",
|
|
69
|
+
"builtin:verification-before-completion"
|
|
70
70
|
],
|
|
71
71
|
"supervisor": [
|
|
72
|
-
"verification-before-completion",
|
|
73
|
-
"loop-agent"
|
|
72
|
+
"builtin:verification-before-completion",
|
|
73
|
+
"builtin:loop-agent"
|
|
74
74
|
],
|
|
75
75
|
"verifier": [
|
|
76
|
-
"verification-before-completion",
|
|
77
|
-
"systematic-debugging"
|
|
76
|
+
"builtin:verification-before-completion",
|
|
77
|
+
"builtin:systematic-debugging"
|
|
78
78
|
],
|
|
79
79
|
"closeout": [
|
|
80
|
-
"loop-agent",
|
|
81
|
-
"verification-before-completion"
|
|
80
|
+
"builtin:loop-agent",
|
|
81
|
+
"builtin:verification-before-completion"
|
|
82
82
|
]
|
|
83
83
|
},
|
|
84
84
|
"executorModels": {
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
## 当前合同
|
|
8
8
|
|
|
9
|
-
- 输入:最终
|
|
9
|
+
- 输入:最终 `.harness/testcase/md/**`、run-owned 环境报告与 Markdown 校验报告,以及有界的 pytest config / `conftest.py`。
|
|
10
10
|
- 禁止重新读取 `source/**`、新增测试场景、重新分配 AC、执行 pytest、修改生产代码/配置或输出业务 JSON。
|
|
11
|
-
-
|
|
11
|
+
- 写入范围:`.harness/testcase/**/test_*.py`、`.harness/testcase/**/helpers/**`、`.harness/testcase/**/factories/**`。
|
|
12
12
|
- pytest 可以使用模块级 `test_*` 函数,也可以使用 pytest 测试类中的 `test_*` 方法;不得为了追溯强迫目标项目放弃现有 class-based 风格。
|
|
13
13
|
- 每个最终 Markdown Case ID 必须出现在至少一个真实测试函数/方法区域中,优先同时出现在函数/方法名和 docstring:
|
|
14
14
|
|
|
@@ -26,7 +26,7 @@ class TestOrderApi:
|
|
|
26
26
|
- 禁止 `skip` / `xfail`、吞断言、宽异常静默通过、mock 替代真实目标、删除用例或弱化断言。
|
|
27
27
|
- best-effort 清理只能捕获所选 HTTP client 实际抛出的窄 transport exception,例如 `requests.RequestException` 或 `urllib.error.URLError`;禁止 `except:`、`except Exception`、`except BaseException` 后 `pass`。
|
|
28
28
|
- 同一 Case ID 可以由多个 pytest 函数覆盖;额外映射会进入 traceability 报告,但不能伪造未在 Markdown 中定义的业务场景。
|
|
29
|
-
- 生成 pytest 文件名必须与 Markdown
|
|
29
|
+
- 生成 pytest 文件名必须与 Markdown 模块一一对应:`.harness/testcase/md/<module>.md` → `.harness/testcase/test_<module>.py`(`<module>` 为文件名去 `.md` 后小写、非字母数字转 `_`)。即使 Markdown `自动化映射` 写了别的路径,也必须写模块 stem 路径,不得额外发明 `test_be_*` 前缀。
|
|
30
30
|
- 测试失败必须诚实保留,后续节点只执行一次 pytest,并从同一 pytest-html 报告生成 HTML/facts。
|
|
31
31
|
|
|
32
32
|
## 推荐输出
|