pi-daddy 0.22.0 → 0.23.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/CHANGELOG.md +30 -0
- package/contracts/daily-view/v1/README.md +114 -0
- package/contracts/daily-view/v1/fixtures/view.json +525 -0
- package/contracts/daily-view/v1/fixtures/view.txt +75 -0
- package/contracts/daily-view/v1/fixtures/work.jsonl +17 -0
- package/contracts/daily-view/v1/p03/README.md +26 -0
- package/contracts/daily-view/v1/p03/fixtures/retained-executions.json +241 -0
- package/contracts/daily-view/v1/p03/projection.schema.json +194 -0
- package/contracts/daily-view/v1/p03/provenance.json +21 -0
- package/contracts/dashboard-host/v1/README.md +176 -0
- package/contracts/debrief/v1/README.md +146 -0
- package/contracts/debrief/v1/intervention/README.md +32 -0
- package/contracts/debrief/v1/intervention/fixtures/artifact-3ee11136beb864f518252e5024dae9197421fbf97b6e981d3243c782b5c44bd0.txt +1 -0
- package/contracts/debrief/v1/intervention/fixtures/artifact-58905d872dd3c54a9705f67b05fa82edbad7af6476ae8993faf1a7b9fadfb905.txt +1 -0
- package/contracts/debrief/v1/intervention/fixtures/assessment.json +29 -0
- package/contracts/debrief/v1/intervention/fixtures/blind-view.json +20 -0
- package/contracts/debrief/v1/intervention/fixtures/choice.json +7 -0
- package/contracts/debrief/v1/intervention/fixtures/manifest.json +57 -0
- package/contracts/debrief/v1/intervention/fixtures/reveal.json +39 -0
- package/contracts/debrief/v1/provenance.json +89 -0
- package/contracts/debrief/v1/work-capture/README.md +38 -0
- package/contracts/debrief/v1/work-capture/fixtures/batch.json +17 -0
- package/contracts/debrief/v1/work-capture/fixtures/cases.json +184 -0
- package/contracts/debrief/v1/work-capture/fixtures/review.json +184 -0
- package/contracts/debrief/v1/work-capture/review-request.schema.json +41 -0
- package/contracts/debrief/v1/work-capture/work-case.schema.json +190 -0
- package/contracts/debrief/v2/README.md +71 -0
- package/contracts/debrief/v2/input-pin.json +66 -0
- package/contracts/debrief/v2/intervention-upstream.md +40 -0
- package/contracts/debrief/v2/work-signals-upstream.md +22 -0
- package/contracts/dispatch-control/v1/README.md +109 -0
- package/contracts/dispatch-control/v1/request.schema.json +19 -0
- package/contracts/effect-profile/v1/README.md +124 -0
- package/contracts/execution-retention/v1/README.md +109 -0
- package/contracts/execution-retention/v2/README.md +148 -0
- package/contracts/execution-retention/v2/fixtures/interrupted-native-bytes.json +91 -0
- package/contracts/execution-retention/v2/fixtures/missing-native-session.json +91 -0
- package/contracts/execution-retention/v2/fixtures/native-file-unknown-branch.json +91 -0
- package/contracts/execution-retention/v2/fixtures/native-id-without-bytes.json +91 -0
- package/contracts/execution-retention/v2/fixtures/native-live-branch.json +90 -0
- package/contracts/execution-retention/v2/fixtures/replaced-native-session.json +92 -0
- package/contracts/execution-retention/v2/fixtures/result-82c620cdfeb8ca6b858cf653d7f5e2eedca5315d6244216d60e8b36f03223d6a.bin +1 -0
- package/contracts/execution-retention/v2/fixtures/session-2ec1f134bc739984434f7fca689e1c3d1c39fce2dcadae709e9b6faedfcc4ac7.bin +3 -0
- package/contracts/execution-retention/v2/fixtures/session-9bdb4bd16a901da31580acf056bda525225259e15ec409e0410480109011772f.bin +3 -0
- package/contracts/execution-retention/v2/manifest.schema.json +858 -0
- package/contracts/experiment/v1/README.md +164 -0
- package/contracts/factory-order/v1/README.md +151 -0
- package/contracts/factory-order/v1/adoption-pin.json +8 -0
- package/contracts/intent-control/v1/README.md +135 -0
- package/contracts/intent-control/v1/request.schema.json +1096 -0
- package/contracts/intent-control/v2/README.md +34 -0
- package/contracts/intent-control/v2/request.schema.json +1070 -0
- package/contracts/ledger/v4/README.md +241 -0
- package/contracts/ledger/v4/fixtures/layout-options.json +428 -0
- package/contracts/ledger/v4/fixtures/work-acceptance.json +57 -0
- package/contracts/ledger/v4/fixtures/work-occurrence.json +44 -0
- package/contracts/ledger/v4/fixtures/work-revision.json +26 -0
- package/contracts/ledger/v4/fixtures/work-snapshot.json +73 -0
- package/contracts/ledger/v4/ledger-event.schema.json +162 -0
- package/contracts/ordinary-control/v1/README.md +59 -0
- package/contracts/producer-ipc/v1/README.md +137 -0
- package/dist/check-runner.d.ts +5 -0
- package/dist/check-runner.d.ts.map +1 -1
- package/dist/check-runner.js +16 -2
- package/dist/check-runner.js.map +1 -1
- package/dist/control-journal.d.ts +20 -0
- package/dist/control-journal.d.ts.map +1 -0
- package/dist/control-journal.js +73 -0
- package/dist/control-journal.js.map +1 -0
- package/dist/daily-view-input.d.ts +44 -0
- package/dist/daily-view-input.d.ts.map +1 -0
- package/dist/daily-view-input.js +68 -0
- package/dist/daily-view-input.js.map +1 -0
- package/dist/daily-view-render.d.ts +4 -0
- package/dist/daily-view-render.d.ts.map +1 -0
- package/dist/daily-view-render.js +41 -0
- package/dist/daily-view-render.js.map +1 -0
- package/dist/daily-view.d.ts +74 -0
- package/dist/daily-view.d.ts.map +1 -0
- package/dist/daily-view.js +170 -0
- package/dist/daily-view.js.map +1 -0
- package/dist/dashboard-cli.d.ts +26 -1
- package/dist/dashboard-cli.d.ts.map +1 -1
- package/dist/dashboard-cli.js +121 -3
- package/dist/dashboard-cli.js.map +1 -1
- package/dist/dashboard-harness.d.ts +19 -0
- package/dist/dashboard-harness.d.ts.map +1 -0
- package/dist/dashboard-harness.js +75 -0
- package/dist/dashboard-harness.js.map +1 -0
- package/dist/dashboard-herdr.d.ts.map +1 -1
- package/dist/dashboard-herdr.js +7 -2
- package/dist/dashboard-herdr.js.map +1 -1
- package/dist/dashboard-host-contract.d.ts +111 -0
- package/dist/dashboard-host-contract.d.ts.map +1 -0
- package/dist/dashboard-host-contract.js +14 -0
- package/dist/dashboard-host-contract.js.map +1 -0
- package/dist/dashboard-host-transport.d.ts +15 -0
- package/dist/dashboard-host-transport.d.ts.map +1 -0
- package/dist/dashboard-host-transport.js +122 -0
- package/dist/dashboard-host-transport.js.map +1 -0
- package/dist/dashboard-host.d.ts +149 -0
- package/dist/dashboard-host.d.ts.map +1 -0
- package/dist/dashboard-host.js +329 -0
- package/dist/dashboard-host.js.map +1 -0
- package/dist/dashboard-observation.d.ts +28 -0
- package/dist/dashboard-observation.d.ts.map +1 -0
- package/dist/dashboard-observation.js +86 -0
- package/dist/dashboard-observation.js.map +1 -0
- package/dist/debrief-contract.d.ts +65 -0
- package/dist/debrief-contract.d.ts.map +1 -0
- package/dist/debrief-contract.js +151 -0
- package/dist/debrief-contract.js.map +1 -0
- package/dist/debrief-fixture.d.ts +16 -0
- package/dist/debrief-fixture.d.ts.map +1 -0
- package/dist/debrief-fixture.js +41 -0
- package/dist/debrief-fixture.js.map +1 -0
- package/dist/debrief-host.d.ts +59 -0
- package/dist/debrief-host.d.ts.map +1 -0
- package/dist/debrief-host.js +49 -0
- package/dist/debrief-host.js.map +1 -0
- package/dist/debrief-render.d.ts +5 -0
- package/dist/debrief-render.d.ts.map +1 -0
- package/dist/debrief-render.js +65 -0
- package/dist/debrief-render.js.map +1 -0
- package/dist/debrief.d.ts +90 -0
- package/dist/debrief.d.ts.map +1 -0
- package/dist/debrief.js +263 -0
- package/dist/debrief.js.map +1 -0
- package/dist/delegate-types.d.ts +2 -0
- package/dist/delegate-types.d.ts.map +1 -1
- package/dist/delegate-types.js.map +1 -1
- package/dist/delegate.d.ts.map +1 -1
- package/dist/delegate.js +1 -0
- package/dist/delegate.js.map +1 -1
- package/dist/dispatch-control.d.ts +45 -0
- package/dist/dispatch-control.d.ts.map +1 -0
- package/dist/dispatch-control.js +76 -0
- package/dist/dispatch-control.js.map +1 -0
- package/dist/effect-profile-runtime.d.ts +40 -0
- package/dist/effect-profile-runtime.d.ts.map +1 -0
- package/dist/effect-profile-runtime.js +51 -0
- package/dist/effect-profile-runtime.js.map +1 -0
- package/dist/effect-profile.d.ts +40 -0
- package/dist/effect-profile.d.ts.map +1 -0
- package/dist/effect-profile.js +152 -0
- package/dist/effect-profile.js.map +1 -0
- package/dist/execution-retention.d.ts +90 -0
- package/dist/execution-retention.d.ts.map +1 -0
- package/dist/execution-retention.js +247 -0
- package/dist/execution-retention.js.map +1 -0
- package/dist/experiment-contract.d.ts +56 -0
- package/dist/experiment-contract.d.ts.map +1 -0
- package/dist/experiment-contract.js +80 -0
- package/dist/experiment-contract.js.map +1 -0
- package/dist/experiment-state.d.ts +22 -0
- package/dist/experiment-state.d.ts.map +1 -0
- package/dist/experiment-state.js +79 -0
- package/dist/experiment-state.js.map +1 -0
- package/dist/experiment-store.d.ts +28 -0
- package/dist/experiment-store.d.ts.map +1 -0
- package/dist/experiment-store.js +130 -0
- package/dist/experiment-store.js.map +1 -0
- package/dist/experiment.d.ts +65 -0
- package/dist/experiment.d.ts.map +1 -0
- package/dist/experiment.js +357 -0
- package/dist/experiment.js.map +1 -0
- package/dist/factory-contract.d.ts +79 -0
- package/dist/factory-contract.d.ts.map +1 -0
- package/dist/factory-contract.js +89 -0
- package/dist/factory-contract.js.map +1 -0
- package/dist/factory-migration.d.ts +20 -0
- package/dist/factory-migration.d.ts.map +1 -0
- package/dist/factory-migration.js +55 -0
- package/dist/factory-migration.js.map +1 -0
- package/dist/factory-order.d.ts +848 -0
- package/dist/factory-order.d.ts.map +1 -0
- package/dist/factory-order.js +83 -0
- package/dist/factory-order.js.map +1 -0
- package/dist/factory-registry.d.ts +121 -0
- package/dist/factory-registry.d.ts.map +1 -0
- package/dist/factory-registry.js +133 -0
- package/dist/factory-registry.js.map +1 -0
- package/dist/file-lock.d.ts +8 -2
- package/dist/file-lock.d.ts.map +1 -1
- package/dist/file-lock.js +78 -19
- package/dist/file-lock.js.map +1 -1
- package/dist/herdr-poll.d.ts +8 -0
- package/dist/herdr-poll.d.ts.map +1 -1
- package/dist/herdr-poll.js +23 -0
- package/dist/herdr-poll.js.map +1 -1
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/dist/intent-application.d.ts +17 -0
- package/dist/intent-application.d.ts.map +1 -0
- package/dist/intent-application.js +113 -0
- package/dist/intent-application.js.map +1 -0
- package/dist/intent-control.d.ts +201 -0
- package/dist/intent-control.d.ts.map +1 -0
- package/dist/intent-control.js +110 -0
- package/dist/intent-control.js.map +1 -0
- package/dist/intent-scheduling.d.ts +9 -0
- package/dist/intent-scheduling.d.ts.map +1 -0
- package/dist/intent-scheduling.js +15 -0
- package/dist/intent-scheduling.js.map +1 -0
- package/dist/ledger-append.d.ts +15 -0
- package/dist/ledger-append.d.ts.map +1 -0
- package/dist/ledger-append.js +94 -0
- package/dist/ledger-append.js.map +1 -0
- package/dist/ledger.d.ts +11 -0
- package/dist/ledger.d.ts.map +1 -1
- package/dist/ledger.js +3 -7
- package/dist/ledger.js.map +1 -1
- package/dist/native-session-target.d.ts +9 -0
- package/dist/native-session-target.d.ts.map +1 -0
- package/dist/native-session-target.js +29 -0
- package/dist/native-session-target.js.map +1 -0
- package/dist/native-session.d.ts +59 -0
- package/dist/native-session.d.ts.map +1 -0
- package/dist/native-session.js +154 -0
- package/dist/native-session.js.map +1 -0
- package/dist/order-schedule.d.ts +37 -0
- package/dist/order-schedule.d.ts.map +1 -0
- package/dist/order-schedule.js +81 -0
- package/dist/order-schedule.js.map +1 -0
- package/dist/ordinary-children.d.ts +52 -0
- package/dist/ordinary-children.d.ts.map +1 -0
- package/dist/ordinary-children.js +93 -0
- package/dist/ordinary-children.js.map +1 -0
- package/dist/producer-ipc-contract.d.ts +29 -0
- package/dist/producer-ipc-contract.d.ts.map +1 -0
- package/dist/producer-ipc-contract.js +29 -0
- package/dist/producer-ipc-contract.js.map +1 -0
- package/dist/producer-ipc.d.ts +55 -0
- package/dist/producer-ipc.d.ts.map +1 -0
- package/dist/producer-ipc.js +143 -0
- package/dist/producer-ipc.js.map +1 -0
- package/dist/resource-budget.d.ts +334 -0
- package/dist/resource-budget.d.ts.map +1 -0
- package/dist/resource-budget.js +415 -0
- package/dist/resource-budget.js.map +1 -0
- package/dist/retention-contract.d.ts +73 -0
- package/dist/retention-contract.d.ts.map +1 -0
- package/dist/retention-contract.js +104 -0
- package/dist/retention-contract.js.map +1 -0
- package/dist/retention-json.d.ts +3 -0
- package/dist/retention-json.d.ts.map +1 -0
- package/dist/retention-json.js +32 -0
- package/dist/retention-json.js.map +1 -0
- package/dist/run-child.d.ts +4 -0
- package/dist/run-child.d.ts.map +1 -1
- package/dist/run-child.js +16 -2
- package/dist/run-child.js.map +1 -1
- package/dist/run-herdr.d.ts +6 -0
- package/dist/run-herdr.d.ts.map +1 -1
- package/dist/run-herdr.js +19 -6
- package/dist/run-herdr.js.map +1 -1
- package/dist/vendor/adoption.d.ts +129 -0
- package/dist/vendor/adoption.d.ts.map +1 -0
- package/dist/vendor/adoption.js +102 -0
- package/dist/vendor/adoption.js.map +1 -0
- package/dist/work-ledger-destination.d.ts +20 -0
- package/dist/work-ledger-destination.d.ts.map +1 -0
- package/dist/work-ledger-destination.js +131 -0
- package/dist/work-ledger-destination.js.map +1 -0
- package/dist/work-ledger-json.d.ts +25 -0
- package/dist/work-ledger-json.d.ts.map +1 -0
- package/dist/work-ledger-json.js +267 -0
- package/dist/work-ledger-json.js.map +1 -0
- package/dist/work-ledger-occurrences.d.ts +227 -0
- package/dist/work-ledger-occurrences.d.ts.map +1 -0
- package/dist/work-ledger-occurrences.js +115 -0
- package/dist/work-ledger-occurrences.js.map +1 -0
- package/dist/work-ledger-projection.d.ts +295 -0
- package/dist/work-ledger-projection.d.ts.map +1 -0
- package/dist/work-ledger-projection.js +237 -0
- package/dist/work-ledger-projection.js.map +1 -0
- package/dist/work-ledger-snapshot.d.ts +29 -0
- package/dist/work-ledger-snapshot.d.ts.map +1 -0
- package/dist/work-ledger-snapshot.js +267 -0
- package/dist/work-ledger-snapshot.js.map +1 -0
- package/dist/work-ledger-types.d.ts +261 -0
- package/dist/work-ledger-types.d.ts.map +1 -0
- package/dist/work-ledger-types.js +13 -0
- package/dist/work-ledger-types.js.map +1 -0
- package/dist/work-ledger-validation.d.ts +14 -0
- package/dist/work-ledger-validation.d.ts.map +1 -0
- package/dist/work-ledger-validation.js +226 -0
- package/dist/work-ledger-validation.js.map +1 -0
- package/dist/work-ledger.d.ts +43 -0
- package/dist/work-ledger.d.ts.map +1 -0
- package/dist/work-ledger.js +225 -0
- package/dist/work-ledger.js.map +1 -0
- package/extensions/delegate-chain.ts +1 -0
- package/extensions/delegation-native.ts +12 -0
- package/extensions/delegation.ts +4 -3
- package/extensions/execute-child.ts +34 -4
- package/extensions/grants.ts +2 -0
- package/extensions/ordinary-runtime.ts +14 -0
- package/extensions/run-delegation.ts +7 -7
- package/extensions/session.ts +3 -1
- package/package.json +78 -4
- package/src/check-runner.ts +20 -2
- package/src/control-journal.ts +26 -0
- package/src/daily-view-input.ts +59 -0
- package/src/daily-view-render.ts +44 -0
- package/src/daily-view.ts +152 -0
- package/src/dashboard-cli.ts +103 -4
- package/src/dashboard-harness.ts +28 -0
- package/src/dashboard-herdr.ts +7 -2
- package/src/dashboard-host-contract.ts +42 -0
- package/src/dashboard-host-transport.ts +38 -0
- package/src/dashboard-host.ts +168 -0
- package/src/dashboard-observation.ts +44 -0
- package/src/debrief-contract.ts +127 -0
- package/src/debrief-fixture.ts +29 -0
- package/src/debrief-host.ts +53 -0
- package/src/debrief-render.ts +49 -0
- package/src/debrief.ts +198 -0
- package/src/delegate-types.ts +2 -0
- package/src/delegate.ts +1 -0
- package/src/dispatch-control.ts +81 -0
- package/src/effect-profile-runtime.ts +46 -0
- package/src/effect-profile.ts +129 -0
- package/src/execution-retention.ts +230 -0
- package/src/experiment-contract.ts +66 -0
- package/src/experiment-state.ts +44 -0
- package/src/experiment-store.ts +90 -0
- package/src/experiment.ts +231 -0
- package/src/factory-contract.ts +47 -0
- package/src/factory-migration.ts +29 -0
- package/src/factory-order.ts +56 -0
- package/src/factory-registry.ts +60 -0
- package/src/file-lock.ts +47 -11
- package/src/herdr-poll.ts +18 -0
- package/src/index.ts +32 -0
- package/src/intent-application.ts +90 -0
- package/src/intent-control.ts +107 -0
- package/src/intent-scheduling.ts +14 -0
- package/src/ledger-append.ts +72 -0
- package/src/ledger.ts +3 -9
- package/src/native-session-target.ts +23 -0
- package/src/native-session.ts +139 -0
- package/src/order-schedule.ts +42 -0
- package/src/ordinary-children.ts +59 -0
- package/src/producer-ipc-contract.ts +26 -0
- package/src/producer-ipc.ts +107 -0
- package/src/resource-budget.ts +349 -0
- package/src/retention-contract.ts +84 -0
- package/src/retention-json.ts +20 -0
- package/src/run-child.ts +13 -2
- package/src/run-herdr.ts +11 -7
- package/src/vendor/adoption.ts +109 -0
- package/src/work-ledger-destination.ts +113 -0
- package/src/work-ledger-json.ts +228 -0
- package/src/work-ledger-occurrences.ts +99 -0
- package/src/work-ledger-projection.ts +262 -0
- package/src/work-ledger-snapshot.ts +246 -0
- package/src/work-ledger-types.ts +229 -0
- package/src/work-ledger-validation.ts +174 -0
- package/src/work-ledger.ts +186 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Work capture/review contract — P07 input for P08
|
|
2
|
+
|
|
3
|
+
Owner: skill-harness. `work-case.schema.json` and `review-request.schema.json` are emitted from source-owned schemas. `fixtures/` comes from the actual case builder, archive and decision writer over seven synthetic layout incidents. These are not live captures, authenticated human statements or approved work.
|
|
4
|
+
|
|
5
|
+
## Host API
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { createWorkCaseReviewer } from '@skill-harness/adapters';
|
|
9
|
+
// An independently configured operator/controller selects this exact private archive, batch and author.
|
|
10
|
+
const reviewer = createWorkCaseReviewer(archiveRoot, batchManifestId, operatorIdentity);
|
|
11
|
+
const page = reviewer.list(0, 5); // total/offset/items; no writes, <=5 items per call
|
|
12
|
+
const history = reviewer.history(caseManifestId); // read-only; no decision is inferred
|
|
13
|
+
const result = reviewer.decide({ caseManifestId, priorDecisionId, disposition, note });
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
The caller must establish the legitimate operator and presentation/attention policy. This API is not a user authenticator, remote capability service or authorization for workers/adoption. A JSON case cannot supply the author, change batch membership or promote itself. Host callbacks can integrate this actual harness-owned writer with an existing dashboard; absent a genuine configured writer, UI actions must stay unavailable rather than writing a separate dashboard ledger.
|
|
17
|
+
|
|
18
|
+
- `list` returns `{total,offset,items:[{caseManifestId,candidate,priorDecisionId,disposition}]}`. Unselected cases do not become agreement. A skip remains skip/unresolved, not a positive label. Five is a per-call ceiling, not proof of the P08 per-pause budget; the presenter must enforce one overall budget including blind cards.
|
|
19
|
+
- `decide` accepts only the four schema fields. The selected batch bounds membership; author is fixed at host initialization. Unknown keys, stale prior IDs, invalid case state and altered history reject.
|
|
20
|
+
- Result is `{current:WorkCaseDecision,replayed:boolean}`. Exact replay does not overwrite a newer current decision. Corrections append a digest-bound chain and preserve prior records.
|
|
21
|
+
- Data lives in the existing private harness archive under `case-decisions/<caseId>/history.jsonl`, with a non-expiring owner-token lock at `case-decisions/<caseId>.lock`. First initialization occurs under that lock. Files/ancestors are checked, writes/directory entries synced, and another owner's lock is never removed.
|
|
22
|
+
- Missing/partial/invalid existing histories refuse further writes. No truncate, automatic stale-lock recovery, rollback or manufactured empty history is provided. A crash/cleanup failure can leave durable bytes and an error; inspect the exact case. Whole-directory rollback by a hostile same-user owner is not prevented or qualified.
|
|
23
|
+
- Case records stay silent/unresolved/causal-not-established. Labels do not alter P01 acceptance, grants, runtime control or scored specifications. Scenario promotion and independently verified calibration outcomes remain separate.
|
|
24
|
+
|
|
25
|
+
Schemas cover wire shape. The source case builder additionally checks canonical ID and cost/reason consistency; the decision writer validates chain identity and expected prior state. Rendering arbitrary caller objects is not validation.
|
|
26
|
+
|
|
27
|
+
## P08 presentation obligations
|
|
28
|
+
|
|
29
|
+
Use existing dashboard/plugin. A verified suitable pause (not every agent_end or guessed idle state) and explicit exposure/calibration policy are still required for automatic presentation. At most five total questions/cards, including blind-choice cards. Defer on unknown boundary/absence/budget exhaustion. Reconnect retains unresolved cards. Quality choice must precede cost/configuration reveal in the separate frozen comparison family; no live casting result is implied by these fixtures. No worker/status messages or observer steering.
|
|
30
|
+
|
|
31
|
+
Direct reproduction after compiler build:
|
|
32
|
+
|
|
33
|
+
```sh
|
|
34
|
+
node scripts/generate-work-case-contract.mjs --check
|
|
35
|
+
node node_modules/vitest/vitest.mjs run packages/core/test/work-capture.test.ts packages/adapters/test/work-case-review.test.ts packages/adapters/test/work-case-archive.test.ts
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Actual integration, independent labels/attention policy and full P07/P08 acceptance remain pending.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "work-candidate-batch-v1",
|
|
3
|
+
"observationId": "3be5c1b87d00d4457a9ec843379815d15a7d953b2c30b11d2325a0b6705adb82",
|
|
4
|
+
"candidateIds": [
|
|
5
|
+
"8c558dfc1db9526c1635515d259f1b6328915e08fee9724b06771c4e739a003c",
|
|
6
|
+
"48910d9ba3af6ab7fd022e6ee38b14f5a4a02d3fca6fe4aa12dc3ada1ef1f181",
|
|
7
|
+
"9dde8e074796e03ef02458e2bd158520e5a4fd7242f1fa88da2e86a6af20bddc",
|
|
8
|
+
"30e6b213a7ad8c236f597484f644ec867874bfa0de56d5c2fd430f7a9178e1a4",
|
|
9
|
+
"fedbb6f6549c42d213e36603d5246ae030ebc4c28a6f76491632f429cf656f94",
|
|
10
|
+
"d0303fd5789b494edafcd3c5a215a7191f1547f9d33802d7101bf911cda21ca3",
|
|
11
|
+
"54856ce8abf12a39cf6e09f92c3b744bae4647bb6dd817a47611c230c69a9635"
|
|
12
|
+
],
|
|
13
|
+
"issues": [],
|
|
14
|
+
"expected": [],
|
|
15
|
+
"visibility": "silent",
|
|
16
|
+
"promotion": "not-authorized"
|
|
17
|
+
}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"capture_schema": 2,
|
|
4
|
+
"id": "cde56f1d95d336f923660c39fe28e229ab35a617bc10f95e721a09f844308696",
|
|
5
|
+
"detector": {
|
|
6
|
+
"id": "repeat_without_progress",
|
|
7
|
+
"version": "fixture-v1",
|
|
8
|
+
"population": "layout"
|
|
9
|
+
},
|
|
10
|
+
"target": {
|
|
11
|
+
"kind": "work",
|
|
12
|
+
"snapshotDigest": "2faa2f05b5b02895c1a132e371ed41ad589984a6fdabd1656e586689a19b8210",
|
|
13
|
+
"obligationId": "layout-1",
|
|
14
|
+
"obligationDigest": "a0fa4ebacf0486844bd388e4bc98a7af5c226485d412f46d1cd395c97f72287b"
|
|
15
|
+
},
|
|
16
|
+
"classification": "candidate_defect",
|
|
17
|
+
"reason": "repeat_without_progress",
|
|
18
|
+
"evidence": [
|
|
19
|
+
"e9cc4cf0642071e7f12c0fd62d4a94073b871c9694ee8c9b01cfd0d8c9ea9955"
|
|
20
|
+
],
|
|
21
|
+
"metrics": {
|
|
22
|
+
"equivalentAttempts": 2
|
|
23
|
+
},
|
|
24
|
+
"status": "unresolved",
|
|
25
|
+
"visibility": "silent",
|
|
26
|
+
"causalAttribution": "not-established"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"capture_schema": 2,
|
|
30
|
+
"id": "9b2d86801bac09cf91b1ae79b66c4b5b06a3d1de8c540c0b82a1a9d63d05c2ae",
|
|
31
|
+
"detector": {
|
|
32
|
+
"id": "repeat_without_progress",
|
|
33
|
+
"version": "fixture-v1",
|
|
34
|
+
"population": "layout"
|
|
35
|
+
},
|
|
36
|
+
"target": {
|
|
37
|
+
"kind": "work",
|
|
38
|
+
"snapshotDigest": "2faa2f05b5b02895c1a132e371ed41ad589984a6fdabd1656e586689a19b8210",
|
|
39
|
+
"obligationId": "layout-2",
|
|
40
|
+
"obligationDigest": "70ffb2685bcd373e1cd46f1d07eb2156dce32a268db682babcb6579dbe206ae1"
|
|
41
|
+
},
|
|
42
|
+
"classification": "candidate_defect",
|
|
43
|
+
"reason": "repeat_without_progress",
|
|
44
|
+
"evidence": [
|
|
45
|
+
"e9cc4cf0642071e7f12c0fd62d4a94073b871c9694ee8c9b01cfd0d8c9ea9955"
|
|
46
|
+
],
|
|
47
|
+
"metrics": {
|
|
48
|
+
"equivalentAttempts": 2
|
|
49
|
+
},
|
|
50
|
+
"status": "unresolved",
|
|
51
|
+
"visibility": "silent",
|
|
52
|
+
"causalAttribution": "not-established"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"capture_schema": 2,
|
|
56
|
+
"id": "a3a3840658bbfdb5fb6c29defa67f1694f762ce85f52c51df45b95822b8a40ac",
|
|
57
|
+
"detector": {
|
|
58
|
+
"id": "repeat_without_progress",
|
|
59
|
+
"version": "fixture-v1",
|
|
60
|
+
"population": "layout"
|
|
61
|
+
},
|
|
62
|
+
"target": {
|
|
63
|
+
"kind": "work",
|
|
64
|
+
"snapshotDigest": "2faa2f05b5b02895c1a132e371ed41ad589984a6fdabd1656e586689a19b8210",
|
|
65
|
+
"obligationId": "layout-3",
|
|
66
|
+
"obligationDigest": "91f6922af64a051483273f1ec7a9d26fff0181dd1ec308534ea2bacdbe7e7115"
|
|
67
|
+
},
|
|
68
|
+
"classification": "candidate_defect",
|
|
69
|
+
"reason": "repeat_without_progress",
|
|
70
|
+
"evidence": [
|
|
71
|
+
"e9cc4cf0642071e7f12c0fd62d4a94073b871c9694ee8c9b01cfd0d8c9ea9955"
|
|
72
|
+
],
|
|
73
|
+
"metrics": {
|
|
74
|
+
"equivalentAttempts": 2
|
|
75
|
+
},
|
|
76
|
+
"status": "unresolved",
|
|
77
|
+
"visibility": "silent",
|
|
78
|
+
"causalAttribution": "not-established"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"capture_schema": 2,
|
|
82
|
+
"id": "b00ea15f36b19989370646e5147fd8c07fa6516166a9644406037e1a883ae2d8",
|
|
83
|
+
"detector": {
|
|
84
|
+
"id": "repeat_without_progress",
|
|
85
|
+
"version": "fixture-v1",
|
|
86
|
+
"population": "layout"
|
|
87
|
+
},
|
|
88
|
+
"target": {
|
|
89
|
+
"kind": "work",
|
|
90
|
+
"snapshotDigest": "2faa2f05b5b02895c1a132e371ed41ad589984a6fdabd1656e586689a19b8210",
|
|
91
|
+
"obligationId": "layout-4",
|
|
92
|
+
"obligationDigest": "57cf84e6c472010a3192fbbce4d6fb52d4f2ffb8f5469e8efebb729111ce085e"
|
|
93
|
+
},
|
|
94
|
+
"classification": "candidate_defect",
|
|
95
|
+
"reason": "repeat_without_progress",
|
|
96
|
+
"evidence": [
|
|
97
|
+
"e9cc4cf0642071e7f12c0fd62d4a94073b871c9694ee8c9b01cfd0d8c9ea9955"
|
|
98
|
+
],
|
|
99
|
+
"metrics": {
|
|
100
|
+
"equivalentAttempts": 2
|
|
101
|
+
},
|
|
102
|
+
"status": "unresolved",
|
|
103
|
+
"visibility": "silent",
|
|
104
|
+
"causalAttribution": "not-established"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"capture_schema": 2,
|
|
108
|
+
"id": "d8501f65e20295b7fe243f04cf5948eec6324a6df752cb698fceb773d3cd0035",
|
|
109
|
+
"detector": {
|
|
110
|
+
"id": "repeat_without_progress",
|
|
111
|
+
"version": "fixture-v1",
|
|
112
|
+
"population": "layout"
|
|
113
|
+
},
|
|
114
|
+
"target": {
|
|
115
|
+
"kind": "work",
|
|
116
|
+
"snapshotDigest": "2faa2f05b5b02895c1a132e371ed41ad589984a6fdabd1656e586689a19b8210",
|
|
117
|
+
"obligationId": "layout-5",
|
|
118
|
+
"obligationDigest": "d6b30c9d90759d7e8b8c79610e8069111e1543ca754a04ef19f28f4a7e758691"
|
|
119
|
+
},
|
|
120
|
+
"classification": "candidate_defect",
|
|
121
|
+
"reason": "repeat_without_progress",
|
|
122
|
+
"evidence": [
|
|
123
|
+
"e9cc4cf0642071e7f12c0fd62d4a94073b871c9694ee8c9b01cfd0d8c9ea9955"
|
|
124
|
+
],
|
|
125
|
+
"metrics": {
|
|
126
|
+
"equivalentAttempts": 2
|
|
127
|
+
},
|
|
128
|
+
"status": "unresolved",
|
|
129
|
+
"visibility": "silent",
|
|
130
|
+
"causalAttribution": "not-established"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"capture_schema": 2,
|
|
134
|
+
"id": "0d77c3aa02fcac76eda5b0e2b325c21e39cbf34aca02df3d4cce670c141bc16a",
|
|
135
|
+
"detector": {
|
|
136
|
+
"id": "repeat_without_progress",
|
|
137
|
+
"version": "fixture-v1",
|
|
138
|
+
"population": "layout"
|
|
139
|
+
},
|
|
140
|
+
"target": {
|
|
141
|
+
"kind": "work",
|
|
142
|
+
"snapshotDigest": "2faa2f05b5b02895c1a132e371ed41ad589984a6fdabd1656e586689a19b8210",
|
|
143
|
+
"obligationId": "layout-6",
|
|
144
|
+
"obligationDigest": "632be15828291b7ccaf216990c45dd72cf6700dc748cf2fb7fc4d243b0f799c8"
|
|
145
|
+
},
|
|
146
|
+
"classification": "candidate_defect",
|
|
147
|
+
"reason": "repeat_without_progress",
|
|
148
|
+
"evidence": [
|
|
149
|
+
"e9cc4cf0642071e7f12c0fd62d4a94073b871c9694ee8c9b01cfd0d8c9ea9955"
|
|
150
|
+
],
|
|
151
|
+
"metrics": {
|
|
152
|
+
"equivalentAttempts": 2
|
|
153
|
+
},
|
|
154
|
+
"status": "unresolved",
|
|
155
|
+
"visibility": "silent",
|
|
156
|
+
"causalAttribution": "not-established"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"capture_schema": 2,
|
|
160
|
+
"id": "279ff762763d04bf18b0d91155e3bf2964b579d39a53d0569dc4ea51292c381b",
|
|
161
|
+
"detector": {
|
|
162
|
+
"id": "repeat_without_progress",
|
|
163
|
+
"version": "fixture-v1",
|
|
164
|
+
"population": "layout"
|
|
165
|
+
},
|
|
166
|
+
"target": {
|
|
167
|
+
"kind": "work",
|
|
168
|
+
"snapshotDigest": "2faa2f05b5b02895c1a132e371ed41ad589984a6fdabd1656e586689a19b8210",
|
|
169
|
+
"obligationId": "layout-7",
|
|
170
|
+
"obligationDigest": "858647bddfcb4f8d3c6eb9a10ac76e13eea7181875ddd670d06b9967986782ce"
|
|
171
|
+
},
|
|
172
|
+
"classification": "candidate_defect",
|
|
173
|
+
"reason": "repeat_without_progress",
|
|
174
|
+
"evidence": [
|
|
175
|
+
"e9cc4cf0642071e7f12c0fd62d4a94073b871c9694ee8c9b01cfd0d8c9ea9955"
|
|
176
|
+
],
|
|
177
|
+
"metrics": {
|
|
178
|
+
"equivalentAttempts": 2
|
|
179
|
+
},
|
|
180
|
+
"status": "unresolved",
|
|
181
|
+
"visibility": "silent",
|
|
182
|
+
"causalAttribution": "not-established"
|
|
183
|
+
}
|
|
184
|
+
]
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
{
|
|
2
|
+
"request": {
|
|
3
|
+
"caseManifestId": "8c558dfc1db9526c1635515d259f1b6328915e08fee9724b06771c4e739a003c",
|
|
4
|
+
"priorDecisionId": null,
|
|
5
|
+
"disposition": "skip",
|
|
6
|
+
"note": "synthetic fixture"
|
|
7
|
+
},
|
|
8
|
+
"response": {
|
|
9
|
+
"current": {
|
|
10
|
+
"decision_schema": 1,
|
|
11
|
+
"id": "d196cb64e7531f002d61387a85cb288077d858d81b2db3ab2efa4d2d31f96334",
|
|
12
|
+
"caseId": "cde56f1d95d336f923660c39fe28e229ab35a617bc10f95e721a09f844308696",
|
|
13
|
+
"priorDecisionId": null,
|
|
14
|
+
"disposition": "skip",
|
|
15
|
+
"author": "operator:fixture",
|
|
16
|
+
"evidence": [
|
|
17
|
+
"8c558dfc1db9526c1635515d259f1b6328915e08fee9724b06771c4e739a003c"
|
|
18
|
+
],
|
|
19
|
+
"note": "synthetic fixture"
|
|
20
|
+
},
|
|
21
|
+
"replayed": false
|
|
22
|
+
},
|
|
23
|
+
"page": {
|
|
24
|
+
"total": 7,
|
|
25
|
+
"offset": 0,
|
|
26
|
+
"items": [
|
|
27
|
+
{
|
|
28
|
+
"caseManifestId": "30e6b213a7ad8c236f597484f644ec867874bfa0de56d5c2fd430f7a9178e1a4",
|
|
29
|
+
"candidate": {
|
|
30
|
+
"capture_schema": 2,
|
|
31
|
+
"id": "b00ea15f36b19989370646e5147fd8c07fa6516166a9644406037e1a883ae2d8",
|
|
32
|
+
"detector": {
|
|
33
|
+
"id": "repeat_without_progress",
|
|
34
|
+
"version": "fixture-v1",
|
|
35
|
+
"population": "layout"
|
|
36
|
+
},
|
|
37
|
+
"target": {
|
|
38
|
+
"kind": "work",
|
|
39
|
+
"snapshotDigest": "2faa2f05b5b02895c1a132e371ed41ad589984a6fdabd1656e586689a19b8210",
|
|
40
|
+
"obligationId": "layout-4",
|
|
41
|
+
"obligationDigest": "57cf84e6c472010a3192fbbce4d6fb52d4f2ffb8f5469e8efebb729111ce085e"
|
|
42
|
+
},
|
|
43
|
+
"classification": "candidate_defect",
|
|
44
|
+
"reason": "repeat_without_progress",
|
|
45
|
+
"evidence": [
|
|
46
|
+
"e9cc4cf0642071e7f12c0fd62d4a94073b871c9694ee8c9b01cfd0d8c9ea9955"
|
|
47
|
+
],
|
|
48
|
+
"metrics": {
|
|
49
|
+
"equivalentAttempts": 2
|
|
50
|
+
},
|
|
51
|
+
"status": "unresolved",
|
|
52
|
+
"visibility": "silent",
|
|
53
|
+
"causalAttribution": "not-established"
|
|
54
|
+
},
|
|
55
|
+
"priorDecisionId": null,
|
|
56
|
+
"disposition": "unresolved"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"caseManifestId": "48910d9ba3af6ab7fd022e6ee38b14f5a4a02d3fca6fe4aa12dc3ada1ef1f181",
|
|
60
|
+
"candidate": {
|
|
61
|
+
"capture_schema": 2,
|
|
62
|
+
"id": "9b2d86801bac09cf91b1ae79b66c4b5b06a3d1de8c540c0b82a1a9d63d05c2ae",
|
|
63
|
+
"detector": {
|
|
64
|
+
"id": "repeat_without_progress",
|
|
65
|
+
"version": "fixture-v1",
|
|
66
|
+
"population": "layout"
|
|
67
|
+
},
|
|
68
|
+
"target": {
|
|
69
|
+
"kind": "work",
|
|
70
|
+
"snapshotDigest": "2faa2f05b5b02895c1a132e371ed41ad589984a6fdabd1656e586689a19b8210",
|
|
71
|
+
"obligationId": "layout-2",
|
|
72
|
+
"obligationDigest": "70ffb2685bcd373e1cd46f1d07eb2156dce32a268db682babcb6579dbe206ae1"
|
|
73
|
+
},
|
|
74
|
+
"classification": "candidate_defect",
|
|
75
|
+
"reason": "repeat_without_progress",
|
|
76
|
+
"evidence": [
|
|
77
|
+
"e9cc4cf0642071e7f12c0fd62d4a94073b871c9694ee8c9b01cfd0d8c9ea9955"
|
|
78
|
+
],
|
|
79
|
+
"metrics": {
|
|
80
|
+
"equivalentAttempts": 2
|
|
81
|
+
},
|
|
82
|
+
"status": "unresolved",
|
|
83
|
+
"visibility": "silent",
|
|
84
|
+
"causalAttribution": "not-established"
|
|
85
|
+
},
|
|
86
|
+
"priorDecisionId": null,
|
|
87
|
+
"disposition": "unresolved"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"caseManifestId": "54856ce8abf12a39cf6e09f92c3b744bae4647bb6dd817a47611c230c69a9635",
|
|
91
|
+
"candidate": {
|
|
92
|
+
"capture_schema": 2,
|
|
93
|
+
"id": "279ff762763d04bf18b0d91155e3bf2964b579d39a53d0569dc4ea51292c381b",
|
|
94
|
+
"detector": {
|
|
95
|
+
"id": "repeat_without_progress",
|
|
96
|
+
"version": "fixture-v1",
|
|
97
|
+
"population": "layout"
|
|
98
|
+
},
|
|
99
|
+
"target": {
|
|
100
|
+
"kind": "work",
|
|
101
|
+
"snapshotDigest": "2faa2f05b5b02895c1a132e371ed41ad589984a6fdabd1656e586689a19b8210",
|
|
102
|
+
"obligationId": "layout-7",
|
|
103
|
+
"obligationDigest": "858647bddfcb4f8d3c6eb9a10ac76e13eea7181875ddd670d06b9967986782ce"
|
|
104
|
+
},
|
|
105
|
+
"classification": "candidate_defect",
|
|
106
|
+
"reason": "repeat_without_progress",
|
|
107
|
+
"evidence": [
|
|
108
|
+
"e9cc4cf0642071e7f12c0fd62d4a94073b871c9694ee8c9b01cfd0d8c9ea9955"
|
|
109
|
+
],
|
|
110
|
+
"metrics": {
|
|
111
|
+
"equivalentAttempts": 2
|
|
112
|
+
},
|
|
113
|
+
"status": "unresolved",
|
|
114
|
+
"visibility": "silent",
|
|
115
|
+
"causalAttribution": "not-established"
|
|
116
|
+
},
|
|
117
|
+
"priorDecisionId": null,
|
|
118
|
+
"disposition": "unresolved"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"caseManifestId": "8c558dfc1db9526c1635515d259f1b6328915e08fee9724b06771c4e739a003c",
|
|
122
|
+
"candidate": {
|
|
123
|
+
"capture_schema": 2,
|
|
124
|
+
"id": "cde56f1d95d336f923660c39fe28e229ab35a617bc10f95e721a09f844308696",
|
|
125
|
+
"detector": {
|
|
126
|
+
"id": "repeat_without_progress",
|
|
127
|
+
"version": "fixture-v1",
|
|
128
|
+
"population": "layout"
|
|
129
|
+
},
|
|
130
|
+
"target": {
|
|
131
|
+
"kind": "work",
|
|
132
|
+
"snapshotDigest": "2faa2f05b5b02895c1a132e371ed41ad589984a6fdabd1656e586689a19b8210",
|
|
133
|
+
"obligationId": "layout-1",
|
|
134
|
+
"obligationDigest": "a0fa4ebacf0486844bd388e4bc98a7af5c226485d412f46d1cd395c97f72287b"
|
|
135
|
+
},
|
|
136
|
+
"classification": "candidate_defect",
|
|
137
|
+
"reason": "repeat_without_progress",
|
|
138
|
+
"evidence": [
|
|
139
|
+
"e9cc4cf0642071e7f12c0fd62d4a94073b871c9694ee8c9b01cfd0d8c9ea9955"
|
|
140
|
+
],
|
|
141
|
+
"metrics": {
|
|
142
|
+
"equivalentAttempts": 2
|
|
143
|
+
},
|
|
144
|
+
"status": "unresolved",
|
|
145
|
+
"visibility": "silent",
|
|
146
|
+
"causalAttribution": "not-established"
|
|
147
|
+
},
|
|
148
|
+
"priorDecisionId": "d196cb64e7531f002d61387a85cb288077d858d81b2db3ab2efa4d2d31f96334",
|
|
149
|
+
"disposition": "skip"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"caseManifestId": "9dde8e074796e03ef02458e2bd158520e5a4fd7242f1fa88da2e86a6af20bddc",
|
|
153
|
+
"candidate": {
|
|
154
|
+
"capture_schema": 2,
|
|
155
|
+
"id": "a3a3840658bbfdb5fb6c29defa67f1694f762ce85f52c51df45b95822b8a40ac",
|
|
156
|
+
"detector": {
|
|
157
|
+
"id": "repeat_without_progress",
|
|
158
|
+
"version": "fixture-v1",
|
|
159
|
+
"population": "layout"
|
|
160
|
+
},
|
|
161
|
+
"target": {
|
|
162
|
+
"kind": "work",
|
|
163
|
+
"snapshotDigest": "2faa2f05b5b02895c1a132e371ed41ad589984a6fdabd1656e586689a19b8210",
|
|
164
|
+
"obligationId": "layout-3",
|
|
165
|
+
"obligationDigest": "91f6922af64a051483273f1ec7a9d26fff0181dd1ec308534ea2bacdbe7e7115"
|
|
166
|
+
},
|
|
167
|
+
"classification": "candidate_defect",
|
|
168
|
+
"reason": "repeat_without_progress",
|
|
169
|
+
"evidence": [
|
|
170
|
+
"e9cc4cf0642071e7f12c0fd62d4a94073b871c9694ee8c9b01cfd0d8c9ea9955"
|
|
171
|
+
],
|
|
172
|
+
"metrics": {
|
|
173
|
+
"equivalentAttempts": 2
|
|
174
|
+
},
|
|
175
|
+
"status": "unresolved",
|
|
176
|
+
"visibility": "silent",
|
|
177
|
+
"causalAttribution": "not-established"
|
|
178
|
+
},
|
|
179
|
+
"priorDecisionId": null,
|
|
180
|
+
"disposition": "unresolved"
|
|
181
|
+
}
|
|
182
|
+
]
|
|
183
|
+
}
|
|
184
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"caseManifestId": {
|
|
6
|
+
"type": "string",
|
|
7
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
8
|
+
},
|
|
9
|
+
"priorDecisionId": {
|
|
10
|
+
"anyOf": [
|
|
11
|
+
{
|
|
12
|
+
"type": "string",
|
|
13
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"type": "null"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"disposition": {
|
|
21
|
+
"enum": [
|
|
22
|
+
"confirmed_defect",
|
|
23
|
+
"expected_behavior",
|
|
24
|
+
"exemplar",
|
|
25
|
+
"uncertain",
|
|
26
|
+
"skip"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"note": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"maxLength": 4000
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"required": [
|
|
35
|
+
"caseManifestId",
|
|
36
|
+
"priorDecisionId",
|
|
37
|
+
"disposition",
|
|
38
|
+
"note"
|
|
39
|
+
],
|
|
40
|
+
"additionalProperties": false
|
|
41
|
+
}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/mojomanyana/skill-harness/contracts/work-capture/v2/work-case.schema.json",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"capture_schema": {
|
|
7
|
+
"const": 2
|
|
8
|
+
},
|
|
9
|
+
"id": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
12
|
+
},
|
|
13
|
+
"detector": {
|
|
14
|
+
"type": "object",
|
|
15
|
+
"properties": {
|
|
16
|
+
"id": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"minLength": 1,
|
|
19
|
+
"maxLength": 512,
|
|
20
|
+
"pattern": "^[^\\u0000-\\u001f\\u007f]+$"
|
|
21
|
+
},
|
|
22
|
+
"version": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"minLength": 1,
|
|
25
|
+
"maxLength": 512,
|
|
26
|
+
"pattern": "^[^\\u0000-\\u001f\\u007f]+$"
|
|
27
|
+
},
|
|
28
|
+
"population": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"minLength": 1,
|
|
31
|
+
"maxLength": 512,
|
|
32
|
+
"pattern": "^[^\\u0000-\\u001f\\u007f]+$"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"required": [
|
|
36
|
+
"id",
|
|
37
|
+
"version",
|
|
38
|
+
"population"
|
|
39
|
+
],
|
|
40
|
+
"additionalProperties": false
|
|
41
|
+
},
|
|
42
|
+
"target": {
|
|
43
|
+
"type": "object",
|
|
44
|
+
"properties": {
|
|
45
|
+
"kind": {
|
|
46
|
+
"const": "work"
|
|
47
|
+
},
|
|
48
|
+
"snapshotDigest": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
51
|
+
},
|
|
52
|
+
"obligationId": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"minLength": 1,
|
|
55
|
+
"maxLength": 512,
|
|
56
|
+
"pattern": "^[^\\u0000-\\u001f\\u007f]+$"
|
|
57
|
+
},
|
|
58
|
+
"obligationDigest": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"required": [
|
|
64
|
+
"kind",
|
|
65
|
+
"snapshotDigest",
|
|
66
|
+
"obligationId",
|
|
67
|
+
"obligationDigest"
|
|
68
|
+
],
|
|
69
|
+
"additionalProperties": false
|
|
70
|
+
},
|
|
71
|
+
"classification": {
|
|
72
|
+
"enum": [
|
|
73
|
+
"candidate_defect",
|
|
74
|
+
"candidate_exemplar",
|
|
75
|
+
"coverage_issue"
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
"reason": {
|
|
79
|
+
"enum": [
|
|
80
|
+
"repeat_without_progress",
|
|
81
|
+
"economical_exemplar",
|
|
82
|
+
"coverage_gap"
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
"evidence": {
|
|
86
|
+
"type": "array",
|
|
87
|
+
"items": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
90
|
+
},
|
|
91
|
+
"minItems": 1,
|
|
92
|
+
"maxItems": 256,
|
|
93
|
+
"uniqueItems": true
|
|
94
|
+
},
|
|
95
|
+
"metrics": {
|
|
96
|
+
"type": "object",
|
|
97
|
+
"properties": {
|
|
98
|
+
"equivalentAttempts": {
|
|
99
|
+
"type": "integer",
|
|
100
|
+
"minimum": 2,
|
|
101
|
+
"maximum": 9007199254740991
|
|
102
|
+
},
|
|
103
|
+
"measuredCost": {
|
|
104
|
+
"type": "number",
|
|
105
|
+
"minimum": 0
|
|
106
|
+
},
|
|
107
|
+
"costLimit": {
|
|
108
|
+
"type": "number",
|
|
109
|
+
"minimum": 0
|
|
110
|
+
},
|
|
111
|
+
"costUnit": {
|
|
112
|
+
"enum": [
|
|
113
|
+
"wall_ms",
|
|
114
|
+
"tool_calls",
|
|
115
|
+
"usd"
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
"required": [],
|
|
120
|
+
"additionalProperties": false
|
|
121
|
+
},
|
|
122
|
+
"status": {
|
|
123
|
+
"const": "unresolved"
|
|
124
|
+
},
|
|
125
|
+
"visibility": {
|
|
126
|
+
"const": "silent"
|
|
127
|
+
},
|
|
128
|
+
"causalAttribution": {
|
|
129
|
+
"const": "not-established"
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"required": [
|
|
133
|
+
"capture_schema",
|
|
134
|
+
"id",
|
|
135
|
+
"detector",
|
|
136
|
+
"target",
|
|
137
|
+
"classification",
|
|
138
|
+
"reason",
|
|
139
|
+
"evidence",
|
|
140
|
+
"metrics",
|
|
141
|
+
"status",
|
|
142
|
+
"visibility",
|
|
143
|
+
"causalAttribution"
|
|
144
|
+
],
|
|
145
|
+
"additionalProperties": false,
|
|
146
|
+
"oneOf": [
|
|
147
|
+
{
|
|
148
|
+
"properties": {
|
|
149
|
+
"reason": {
|
|
150
|
+
"const": "repeat_without_progress"
|
|
151
|
+
},
|
|
152
|
+
"classification": {
|
|
153
|
+
"const": "candidate_defect"
|
|
154
|
+
},
|
|
155
|
+
"metrics": {
|
|
156
|
+
"required": [
|
|
157
|
+
"equivalentAttempts"
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"properties": {
|
|
164
|
+
"reason": {
|
|
165
|
+
"const": "economical_exemplar"
|
|
166
|
+
},
|
|
167
|
+
"classification": {
|
|
168
|
+
"const": "candidate_exemplar"
|
|
169
|
+
},
|
|
170
|
+
"metrics": {
|
|
171
|
+
"required": [
|
|
172
|
+
"measuredCost",
|
|
173
|
+
"costLimit",
|
|
174
|
+
"costUnit"
|
|
175
|
+
]
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"properties": {
|
|
181
|
+
"reason": {
|
|
182
|
+
"const": "coverage_gap"
|
|
183
|
+
},
|
|
184
|
+
"classification": {
|
|
185
|
+
"const": "coverage_issue"
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
]
|
|
190
|
+
}
|