@piagent/platform 1.5.5 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +166 -0
- package/README.md +25 -21
- package/README.vi.md +34 -5
- package/adapters/web-frontend/profile.json +2 -4
- package/architecture/layers.json +18 -3
- package/benchmarks/deep-logic-v1/SPECIALIST_PROTOCOL.vi.md +122 -0
- package/benchmarks/deep-logic-v1/grade.mjs +272 -10
- package/benchmarks/deep-logic-v1/project/apps/admin/src/billing-summary.js +3 -0
- package/benchmarks/deep-logic-v1/project/benchmark-contract/public-smoke.test.js +166 -0
- package/benchmarks/deep-logic-v1/project/package.json +1 -1
- package/benchmarks/deep-logic-v1/project/packages/billing/src/close-period.js +3 -0
- package/benchmarks/deep-logic-v1/project/packages/billing/src/plan-timeline.js +3 -0
- package/benchmarks/deep-logic-v1/project/test/smoke.test.js +7 -1
- package/benchmarks/deep-logic-v1/prompts/budgeted-context-graph.md +2 -0
- package/benchmarks/deep-logic-v1/prompts/fair-dependency-scheduler.md +2 -0
- package/benchmarks/deep-logic-v1/prompts/layered-policy-resolution.md +2 -0
- package/benchmarks/deep-logic-v1/prompts/resumable-stream-assembly.md +3 -1
- package/benchmarks/deep-logic-v1/prompts/revision-event-reconciliation.md +2 -0
- package/benchmarks/deep-logic-v1/prompts/temporal-usage-billing-close.md +123 -0
- package/benchmarks/deep-logic-v1/prompts/transactional-config-merge.md +2 -0
- package/benchmarks/deep-logic-v1/suite.json +51 -3
- package/benchmarks/deep-logic-v1/variant.mjs +22 -1
- package/benchmarks/production-v1/spend-control.v1.json +92 -0
- package/benchmarks/production-v1/suite.json +46 -3
- package/catalog/capabilities.json +18 -18
- package/docs/authority-manifest.md +1 -1
- package/docs/auto-delegation-policy.md +38 -73
- package/docs/command-reference-vietnamese.md +27 -35
- package/docs/context-engine.md +12 -4
- package/docs/context-window-policy.md +37 -1
- package/docs/distribution-standard.md +7 -7
- package/docs/en/architecture.md +27 -13
- package/docs/languages.json +4 -4
- package/docs/model-options.md +8 -5
- package/docs/operator-manual-vietnamese.md +27 -45
- package/docs/project-adapters.md +2 -2
- package/docs/publishing-for-teams.md +10 -0
- package/docs/quality-benchmark.md +427 -62
- package/docs/release-install-policy.md +10 -9
- package/docs/runtime-harness-standard.md +3 -3
- package/docs/runtime-policy-design.md +4 -4
- package/docs/runtime-quality-baseline.md +13 -6
- package/docs/security-threat-model.md +2 -2
- package/docs/subagent-orchestration-capabilities.md +19 -51
- package/docs/subagents-and-multiagent.md +21 -47
- package/docs/task-implementation-contract.md +3 -3
- package/docs/task-lifecycle-vietnamese.md +3 -3
- package/docs/team-onboarding.md +2 -2
- package/docs/usage-observability.md +7 -2
- package/docs/vi/architecture.md +27 -13
- package/docs-site/architecture.html +1 -1
- package/docs-site/benchmark.html +89 -95
- package/docs-site/commands.html +1 -1
- package/docs-site/content/benchmark.html +88 -94
- package/docs-site/content/en/benchmark.html +134 -90
- package/docs-site/content/en/index.html +19 -19
- package/docs-site/content/en/runtime.html +4 -4
- package/docs-site/content/en/whats-new.html +12 -1
- package/docs-site/content/en/workflows.html +2 -2
- package/docs-site/content/index.html +19 -19
- package/docs-site/content/runtime.html +4 -4
- package/docs-site/content/whats-new.html +12 -1
- package/docs-site/content/workflows.html +2 -2
- package/docs-site/context-engine.html +1 -1
- package/docs-site/en/architecture.html +1 -1
- package/docs-site/en/benchmark.html +135 -91
- package/docs-site/en/commands.html +1 -1
- package/docs-site/en/context-engine.html +1 -1
- package/docs-site/en/index.html +20 -20
- package/docs-site/en/mcp-approval.html +1 -1
- package/docs-site/en/mcp-auth.html +1 -1
- package/docs-site/en/mcp-servers.html +1 -1
- package/docs-site/en/mcp.html +1 -1
- package/docs-site/en/permissions.html +1 -1
- package/docs-site/en/profiles.html +1 -1
- package/docs-site/en/quickstart.html +1 -1
- package/docs-site/en/runtime.html +5 -5
- package/docs-site/en/scope.html +1 -1
- package/docs-site/en/security.html +1 -1
- package/docs-site/en/team.html +1 -1
- package/docs-site/en/whats-new.html +13 -2
- package/docs-site/en/workflows.html +3 -3
- package/docs-site/index.html +20 -20
- package/docs-site/mcp-approval.html +1 -1
- package/docs-site/mcp-auth.html +1 -1
- package/docs-site/mcp-servers.html +1 -1
- package/docs-site/mcp.html +1 -1
- package/docs-site/permissions.html +1 -1
- package/docs-site/profiles.html +1 -1
- package/docs-site/quickstart.html +1 -1
- package/docs-site/runtime.html +5 -5
- package/docs-site/scope.html +1 -1
- package/docs-site/security.html +1 -1
- package/docs-site/team.html +1 -1
- package/docs-site/whats-new.html +13 -2
- package/docs-site/workflows.html +3 -3
- package/evals/fixtures/benchmark-assurance-evidence.invalid.json +1 -1
- package/evals/fixtures/benchmark-assurance-evidence.valid.json +1 -1
- package/evals/fixtures/codex-relative-efficiency-v1.invalid.json +4 -0
- package/evals/fixtures/codex-relative-efficiency-v1.valid.json +94 -0
- package/evals/fixtures/helper-request.invalid.json +1 -1
- package/evals/fixtures/helper-request.valid.json +1 -1
- package/evals/fixtures/piagent-webui/session-live-state-v1.invalid.json +18 -0
- package/evals/fixtures/piagent-webui/session-live-state-v1.valid.json +27 -0
- package/evals/fixtures/piagent-webui/subagent-tree-v1.valid.json +7 -0
- package/evals/fixtures/task-authority-snapshot.valid.json +4 -4
- package/evals/fs4-readiness-matrix.v1.json +2 -2
- package/evals/fs5-causal-arm.v1.json +3 -3
- package/evals/fs5-pilot-protocol.v1.json +3 -3
- package/evals/fs5-pilot-protocol.v2.json +8 -8
- package/evals/fs5-pilot-protocol.v3.json +8 -8
- package/evals/fs5-pilot-protocol.v4.json +7 -6
- package/evals/fs5-pilot-protocol.v5.json +9 -7
- package/evals/private-holdout-v1/public-exposure.v1.json +1 -1
- package/evals/runtime-conformance-v1/README.md +43 -0
- package/evals/runtime-conformance-v1/evaluate-paid-canary.mjs +198 -0
- package/evals/runtime-conformance-v1/lane.json +57 -0
- package/evals/runtime-conformance-v1/paid-canary.json +31 -0
- package/evals/runtime-conformance-v1/runner.mjs +456 -0
- package/package.json +3 -1
- package/packages/piagent-core/README.md +13 -4
- package/packages/piagent-core/benchmark/benchmark-assurance.js +4 -1
- package/packages/piagent-core/benchmark/benchmark-bootstrap.js +91 -9
- package/packages/piagent-core/benchmark/benchmark-claim-restrictions.js +38 -7
- package/packages/piagent-core/benchmark/benchmark-cli.js +7 -7
- package/packages/piagent-core/benchmark/benchmark-codex-relative-efficiency.js +698 -0
- package/packages/piagent-core/benchmark/benchmark-codex.js +3 -1
- package/packages/piagent-core/benchmark/benchmark-comparison.js +271 -2
- package/packages/piagent-core/benchmark/benchmark-core.js +736 -664
- package/packages/piagent-core/benchmark/benchmark-execution-guard.js +7 -5
- package/packages/piagent-core/benchmark/benchmark-forensics.js +441 -4
- package/packages/piagent-core/benchmark/benchmark-host-readiness.js +639 -0
- package/packages/piagent-core/benchmark/benchmark-matrix.js +22 -4
- package/packages/piagent-core/benchmark/benchmark-normalized-cost.js +317 -0
- package/packages/piagent-core/benchmark/benchmark-preflight.js +5 -1
- package/packages/piagent-core/benchmark/benchmark-process.js +6 -5
- package/packages/piagent-core/benchmark/benchmark-provider-free-evidence.js +345 -0
- package/packages/piagent-core/benchmark/benchmark-provider-wire.js +126 -0
- package/packages/piagent-core/benchmark/benchmark-record-validation.js +252 -0
- package/packages/piagent-core/benchmark/benchmark-report.js +130 -12
- package/packages/piagent-core/benchmark/benchmark-resume-recovery.js +14 -0
- package/packages/piagent-core/benchmark/benchmark-runner-policy.js +26 -0
- package/packages/piagent-core/benchmark/benchmark-runtime-causal.js +244 -0
- package/packages/piagent-core/benchmark/benchmark-stage-diagnostic.js +979 -0
- package/packages/piagent-core/benchmark/benchmark-statistics.js +64 -0
- package/packages/piagent-core/benchmark/benchmark-stop-policy.js +8 -5
- package/packages/piagent-core/benchmark/benchmark-suite-identity.js +31 -0
- package/packages/piagent-core/benchmark/benchmark-suite-runtime.js +13 -9
- package/packages/piagent-core/benchmark/benchmark-suite.js +149 -2
- package/packages/piagent-core/benchmark/benchmark-summary-support.js +380 -0
- package/packages/piagent-core/benchmark/benchmark-timing-diagnostics.js +971 -0
- package/packages/piagent-core/benchmark/benchmark-usage.js +322 -0
- package/packages/piagent-core/benchmark/benchmark-workflow.js +166 -0
- package/packages/piagent-core/capabilities/runtime-integrity.js +3 -0
- package/packages/piagent-core/docs/context-efficiency-improvement-plan.md +1080 -0
- package/packages/piagent-core/extensions/acceptance-behavior-proof.js +806 -0
- package/packages/piagent-core/extensions/acceptance-contract-semantics.js +83 -69
- package/packages/piagent-core/extensions/acceptance-error-classes.js +160 -0
- package/packages/piagent-core/extensions/acceptance-executable-evidence.js +12 -9
- package/packages/piagent-core/extensions/acceptance-receipt.js +123 -59
- package/packages/piagent-core/extensions/acceptance-state-machine-evidence.js +518 -0
- package/packages/piagent-core/extensions/acceptance-test-binding-evidence.js +60 -0
- package/packages/piagent-core/extensions/context-efficiency-metrics.js +302 -0
- package/packages/piagent-core/extensions/context-efficiency-report.js +167 -0
- package/packages/piagent-core/extensions/context-engine.js +149 -156
- package/packages/piagent-core/extensions/context-evidence.js +48 -0
- package/packages/piagent-core/extensions/context-import-links.js +296 -0
- package/packages/piagent-core/extensions/context-index-policy.js +4 -0
- package/packages/piagent-core/extensions/context-query-paths.js +57 -0
- package/packages/piagent-core/extensions/context-telemetry-integrity.js +65 -0
- package/packages/piagent-core/extensions/criterion-context-pack.js +435 -7
- package/packages/piagent-core/extensions/criterion-graph.js +82 -9
- package/packages/piagent-core/extensions/fallback-base-policy.ts +101 -0
- package/packages/piagent-core/extensions/guard-types.ts +6 -0
- package/packages/piagent-core/extensions/javascript-regex-evidence.js +32 -0
- package/packages/piagent-core/extensions/piagent-guard.ts +420 -260
- package/packages/piagent-core/extensions/task-contract-view.js +17 -3
- package/packages/piagent-core/extensions/task-lifecycle.js +39 -2
- package/packages/piagent-core/extensions/task-state.js +109 -142
- package/packages/piagent-core/extensions/verification-intelligence.js +52 -13
- package/packages/piagent-core/extensions/workspace-evidence-roots.js +193 -0
- package/packages/piagent-core/package.json +1 -1
- package/packages/piagent-core/policies/base-policy.json +44 -2
- package/packages/piagent-core/policy/authority-manifest.v1.json +3 -3
- package/packages/piagent-core/prompts/be-to-fe.md +2 -8
- package/packages/piagent-core/prompts/plan.md +1 -1
- package/packages/piagent-core/prompts/platform-improve.md +2 -6
- package/packages/piagent-core/prompts/review.md +2 -7
- package/packages/piagent-core/prompts/scout.md +1 -1
- package/packages/piagent-core/prompts/task.md +4 -3
- package/packages/piagent-core/runtime/context/context-delivery.ts +103 -0
- package/packages/piagent-core/runtime/context/context-delta-shadow.ts +53 -0
- package/packages/piagent-core/runtime/context/context-efficiency-format.ts +47 -0
- package/packages/piagent-core/runtime/context/context-evidence-qualification.ts +32 -0
- package/packages/piagent-core/runtime/context/prefix-telemetry.ts +47 -0
- package/packages/piagent-core/runtime/context/repository-memory-hints.ts +27 -0
- package/packages/piagent-core/runtime/hooks/agent-prompt-telemetry.ts +56 -0
- package/packages/piagent-core/runtime/hooks/agent-start-hook.ts +162 -102
- package/packages/piagent-core/runtime/hooks/completion-hook.ts +12 -12
- package/packages/piagent-core/runtime/hooks/input-hook.ts +17 -1
- package/packages/piagent-core/runtime/hooks/session-hooks.ts +22 -2
- package/packages/piagent-core/runtime/hooks/session-start-hook.ts +107 -3
- package/packages/piagent-core/runtime/hooks/tool-result-content-guards.ts +95 -0
- package/packages/piagent-core/runtime/hooks/tool-result-hook.ts +134 -166
- package/packages/piagent-core/runtime/hooks/tool-result-value-helpers.ts +66 -0
- package/packages/piagent-core/runtime/inspection/activity-event-adapter.ts +4 -2
- package/packages/piagent-core/runtime/inspection/activity-recovery.ts +104 -0
- package/packages/piagent-core/runtime/inspection/bounded-emission-guard.ts +286 -0
- package/packages/piagent-core/runtime/inspection/runtime-event-store.ts +37 -7
- package/packages/piagent-core/runtime/inspection/task-compaction-history.ts +1 -1
- package/packages/piagent-core/runtime/inspection/task-handoff-history.ts +1 -1
- package/packages/piagent-core/runtime/inspection/task-subagent-tree.ts +27 -4
- package/packages/piagent-core/runtime/inspection/tool-failure-classification.ts +70 -0
- package/packages/piagent-core/runtime/inspection/webui-snapshot.ts +73 -9
- package/packages/piagent-core/runtime/model/authenticated-catalog.ts +17 -9
- package/packages/piagent-core/runtime/model/openai-codex-reasoning.ts +83 -0
- package/packages/piagent-core/runtime/model/provider-wire-fingerprint.ts +238 -0
- package/packages/piagent-core/runtime/orchestration/helper-lifecycle.ts +16 -12
- package/packages/piagent-core/runtime/orchestration/minimal-delegation-policy.ts +71 -0
- package/packages/piagent-core/runtime/orchestration/owned-work-budget.ts +28 -20
- package/packages/piagent-core/runtime/orchestration/role-policy.ts +27 -9
- package/packages/piagent-core/runtime/orchestration/subagent-tool-policy.ts +329 -0
- package/packages/piagent-core/runtime/policy/block-remedy.ts +0 -4
- package/packages/piagent-core/runtime/product/activity-inspector.ts +7 -2
- package/packages/piagent-core/runtime/product/efficiency-metrics.ts +7 -2
- package/packages/piagent-core/runtime/quality/edit-freshness-guard.ts +102 -0
- package/packages/piagent-core/runtime/quality/exact-output-contract.ts +22 -11
- package/packages/piagent-core/runtime/quality/performance-assurance-signals.ts +23 -0
- package/packages/piagent-core/runtime/quality/performance-assurance.ts +9 -5
- package/packages/piagent-core/runtime/recovery/continuation-budget.ts +1 -1
- package/packages/piagent-core/runtime/recovery/edit-recovery-context.ts +113 -0
- package/packages/piagent-core/runtime/recovery/edit-recovery-delivery.ts +42 -0
- package/packages/piagent-core/runtime/recovery/handoff-projection.ts +4 -1
- package/packages/piagent-core/runtime/recovery/pristine-task-policy-refresh.ts +91 -0
- package/packages/piagent-core/runtime/recovery/recovery-policy.ts +7 -4
- package/packages/piagent-core/runtime/recovery/resume-state.ts +112 -14
- package/packages/piagent-core/runtime/recovery/semantic-repair-handshake.ts +60 -13
- package/packages/piagent-core/runtime/recovery/semantic-repair-runtime.ts +55 -2
- package/packages/piagent-core/runtime/recovery/task-evidence-coverage-refresh.ts +217 -0
- package/packages/piagent-core/runtime/registration/context-commands.ts +82 -7
- package/packages/piagent-core/runtime/registration/knowledge-tools.ts +9 -5
- package/packages/piagent-core/runtime/registration/operator-request-intake.ts +49 -0
- package/packages/piagent-core/runtime/registration/policy-tools.ts +50 -15
- package/packages/piagent-core/runtime/registration/session-commands.ts +1 -1
- package/packages/piagent-core/runtime/registration/task-completion-tools.ts +61 -25
- package/packages/piagent-core/runtime/registration/task-evidence-tools.ts +21 -12
- package/packages/piagent-core/runtime/registration/task-start-guidance.ts +169 -0
- package/packages/piagent-core/runtime/registration/task-start-manifest.ts +54 -0
- package/packages/piagent-core/runtime/registration/task-start-retry-helpers.ts +37 -0
- package/packages/piagent-core/runtime/registration/task-start-tool.ts +108 -103
- package/packages/piagent-core/runtime/runtime-limits.ts +16 -2
- package/packages/piagent-core/runtime/session/adaptive-context-analysis.ts +461 -0
- package/packages/piagent-core/runtime/session/adaptive-context-governor.ts +464 -0
- package/packages/piagent-core/runtime/session/adaptive-context-ledger.ts +265 -0
- package/packages/piagent-core/runtime/session/message-signals.ts +7 -3
- package/packages/piagent-core/runtime/session/operator-request-carry.ts +44 -0
- package/packages/piagent-core/runtime/session/runtime-state.ts +161 -5
- package/packages/piagent-core/runtime/session/source-checkout-read-grants.ts +35 -0
- package/packages/piagent-core/runtime/session/system-prompt.ts +76 -14
- package/packages/piagent-core/runtime/session/task-contract-presentation.ts +39 -0
- package/packages/piagent-core/runtime/tools/apply-patch-tool.ts +500 -0
- package/packages/piagent-core/runtime/tools/phase-tools.ts +8 -8
- package/packages/piagent-core/runtime/tools/tool-groups.ts +12 -2
- package/packages/piagent-core/runtime/trajectory/trajectory-runtime.ts +2 -1
- package/packages/piagent-core/runtime/verification/exact-verifier-reuse.ts +101 -0
- package/packages/piagent-core/runtime/workflows/runtime-intake-compaction.ts +164 -0
- package/packages/piagent-core/runtime/workflows/task-intake.ts +207 -38
- package/packages/piagent-core/security/sensitive-data.js +13 -218
- package/packages/piagent-core/security/sensitive-project-file.js +42 -0
- package/packages/piagent-core/security/sensitive-source-expression.js +330 -0
- package/packages/piagent-core/security/sensitive-source-formats.js +394 -0
- package/packages/piagent-core/security/sensitive-text.js +234 -0
- package/packages/piagent-core/subagents/piagent-oracle.md +5 -3
- package/packages/piagent-core/subagents/piagent-planner.md +6 -4
- package/packages/piagent-core/subagents/piagent-reviewer.md +5 -3
- package/packages/piagent-core/subagents/piagent-scout.md +4 -2
- package/packages/piagent-core/subagents/piagent-worker.md +7 -5
- package/packages/piagent-webui/dist/client/assets/{MarkdownMessage-rD9WJKxs.js → MarkdownMessage-B4XehTCU.js} +1 -1
- package/packages/piagent-webui/dist/client/assets/index-CgOEyRPG.js +176 -0
- package/packages/piagent-webui/dist/client/index.html +1 -1
- package/packages/piagent-webui/extension/piagent-webui.ts +3 -1
- package/packages/piagent-webui/extension/same-session-bridge.ts +1 -1
- package/packages/piagent-webui/extension/session-stream-adapter.ts +33 -10
- package/packages/piagent-webui/gateway/gateway-events.ts +109 -5
- package/packages/piagent-webui/gateway/gateway-service.ts +3 -0
- package/packages/piagent-webui/gateway/gateway-session-stream.ts +122 -20
- package/packages/piagent-webui/gateway/session-command-controller.ts +18 -3
- package/packages/piagent-webui/gateway/session-effective-options.ts +47 -0
- package/packages/piagent-webui/gateway/session-live-state.ts +21 -0
- package/packages/piagent-webui/gateway/session-operation-lifecycle.ts +237 -0
- package/packages/piagent-webui/gateway/session-operation-retry-control.ts +38 -0
- package/packages/piagent-webui/gateway/session-operation-start.ts +5 -1
- package/packages/piagent-webui/gateway/session-operation-watchdog.ts +165 -0
- package/packages/piagent-webui/gateway/session-runtime-factory.ts +45 -0
- package/packages/piagent-webui/gateway/session-runtime-supervisor.ts +141 -125
- package/packages/piagent-webui/ownership/session-lease-store.ts +5 -2
- package/packages/piagent-webui/server/core-inspection-provider.ts +2 -1
- package/packages/piagent-webui/server/loopback-server.ts +8 -0
- package/packages/piagent-webui/server/transcript-projection.ts +113 -9
- package/packages/piagent-webui/shared/text-visibility.ts +10 -0
- package/schemas/codex-relative-efficiency-v1.schema.json +155 -0
- package/schemas/piagent-webui/catalog-v1.json +9 -0
- package/schemas/piagent-webui/gateway-protocol-v1.schema.json +53 -3
- package/schemas/piagent-webui/runtime-event-v2.schema.json +15 -5
- package/schemas/piagent-webui/session-live-state-v1.schema.json +76 -0
- package/schemas/piagent-webui/subagent-tree-v1.schema.json +11 -1
- package/schemas/project-profile.schema.json +1 -1
- package/schemas/task-contract.schema.json +27 -1
- package/scripts/benchmark-runner-core.mjs +367 -363
- package/scripts/benchmark-runner-finalization.mjs +313 -0
- package/scripts/benchmark-runner-host-readiness.mjs +94 -0
- package/scripts/benchmark-runner-support.mjs +200 -0
- package/scripts/benchmark-session.mjs +95 -41
- package/scripts/configure-model-scope.sh +4 -3
- package/scripts/configure-subagents.sh +42 -34
- package/scripts/helper-evaluation.mjs +2 -2
- package/scripts/install-global.sh +2 -2
- package/scripts/pi-usage-history.mjs +37 -10
- package/scripts/setup.sh +2 -2
- package/scripts/team-doctor.sh +1 -1
- package/scripts/verify-local.sh +10 -1
- package/templates/global/settings.json +2 -1
- package/packages/piagent-webui/dist/client/assets/index-BZRFw1u6.js +0 -174
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
Implement the temporal usage-billing close across:
|
|
2
|
+
|
|
3
|
+
- `packages/billing/src/plan-timeline.js`
|
|
4
|
+
- `packages/billing/src/close-period.js`
|
|
5
|
+
- `apps/admin/src/billing-summary.js`
|
|
6
|
+
|
|
7
|
+
The implementation must use only Node's standard library and must never mutate
|
|
8
|
+
caller input. All accepted values are plain JSON values: reject sparse arrays,
|
|
9
|
+
non-finite/unsafe numbers, non-plain object prototypes, accessors, symbol keys,
|
|
10
|
+
unknown fields, and the keys/names `__proto__`, `prototype`, and `constructor`.
|
|
11
|
+
Every rejection must throw `TypeError` before returning any partial result.
|
|
12
|
+
|
|
13
|
+
## Period and plan timeline
|
|
14
|
+
|
|
15
|
+
`period` contains exactly `{ start, end }`. Both values are canonical ISO-8601
|
|
16
|
+
UTC strings (`new Date(value).toISOString() === value`) and define a non-empty
|
|
17
|
+
half-open interval `[start, end)`.
|
|
18
|
+
|
|
19
|
+
`normalizePlanTimeline(plans, period)` validates and returns a deep-cloned array
|
|
20
|
+
sorted by `tenantId`, `effectiveAt`, then `id`. A plan contains exactly:
|
|
21
|
+
|
|
22
|
+
```js
|
|
23
|
+
{
|
|
24
|
+
id, tenantId, currency, effectiveAt,
|
|
25
|
+
meters: {
|
|
26
|
+
api: [
|
|
27
|
+
{ upTo: 100, unitPriceMicros: 250000 },
|
|
28
|
+
{ upTo: null, unitPriceMicros: 500000 }
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
- `id`, `tenantId`, and meter names are non-empty trimmed strings and cannot be
|
|
35
|
+
poison names. Plan ids are globally unique. Effective times are unique per
|
|
36
|
+
tenant. A tenant uses one three-letter uppercase currency for its whole
|
|
37
|
+
timeline.
|
|
38
|
+
- `effectiveAt` is canonical ISO UTC. A plan becomes active at that exact
|
|
39
|
+
instant and remains active until the next plan for that tenant.
|
|
40
|
+
- `meters` is a non-empty plain object. Its keys are returned in lexical order.
|
|
41
|
+
Every tier array is dense and non-empty. Each tier contains exactly `upTo`
|
|
42
|
+
and `unitPriceMicros`.
|
|
43
|
+
- `upTo` values are cumulative positive safe-integer boundaries, strictly
|
|
44
|
+
increasing. Exactly the final tier has `upTo: null`. `unitPriceMicros` is a
|
|
45
|
+
non-negative safe integer. One unit price is expressed in one millionth of a
|
|
46
|
+
currency minor unit.
|
|
47
|
+
|
|
48
|
+
## Usage close
|
|
49
|
+
|
|
50
|
+
`closeUsagePeriod(input)` accepts exactly `{ period, plans, events }`. Events
|
|
51
|
+
have globally unique, non-empty trimmed ids and one of these exact shapes:
|
|
52
|
+
|
|
53
|
+
```js
|
|
54
|
+
{ id, kind: "usage", tenantId, meter, at, units }
|
|
55
|
+
{ id, kind: "reversal", tenantId, at, targetId }
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Every event time must be canonical and inside the period. `units` is a positive
|
|
59
|
+
safe integer. A reversal must reference an existing usage event for the same
|
|
60
|
+
tenant at or before the reversal time. One usage can be reversed at most once;
|
|
61
|
+
a reversal cannot target another reversal.
|
|
62
|
+
|
|
63
|
+
Resolve all valid reversals before rating, independent of input order. Rate the
|
|
64
|
+
remaining usage in ascending `at`, then `id` order. Select the latest plan whose
|
|
65
|
+
`effectiveAt <= usage.at`. A missing active plan or a meter absent from that plan
|
|
66
|
+
is invalid input: throw `TypeError`; never skip or silently omit that usage. Tier
|
|
67
|
+
consumption is cumulative per `(tenantId, planId, meter)`, so it is isolated
|
|
68
|
+
between tenants and meters and resets on a plan change. One usage event may span
|
|
69
|
+
multiple tiers.
|
|
70
|
+
|
|
71
|
+
Use `BigInt` internally for every multiplication and sum. Do not convert a
|
|
72
|
+
charge through `Number`. Round an invoice from micro-minor units to minor units
|
|
73
|
+
exactly once, at close, using round-half-to-even with divisor `1_000_000`.
|
|
74
|
+
|
|
75
|
+
Return exactly:
|
|
76
|
+
|
|
77
|
+
```js
|
|
78
|
+
{
|
|
79
|
+
period: { start, end },
|
|
80
|
+
invoices: [{
|
|
81
|
+
tenantId,
|
|
82
|
+
currency,
|
|
83
|
+
lines: [{
|
|
84
|
+
eventId, planId, meter, at, units,
|
|
85
|
+
allocations: [{
|
|
86
|
+
tierIndex, units,
|
|
87
|
+
unitPriceMicros, // decimal string
|
|
88
|
+
chargeMicros // decimal string
|
|
89
|
+
}],
|
|
90
|
+
chargeMicros // decimal string
|
|
91
|
+
}],
|
|
92
|
+
subtotalMicros, // decimal string
|
|
93
|
+
totalMinor, // decimal string
|
|
94
|
+
digest // lowercase SHA-256
|
|
95
|
+
}],
|
|
96
|
+
reversedEventIds
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Invoices are ordered by `tenantId`; lines use rating order; allocation order is
|
|
101
|
+
tier order; reversed ids are lexical. Create an invoice only for a tenant with
|
|
102
|
+
at least one non-reversed usage. `digest` is SHA-256 of canonical JSON for the
|
|
103
|
+
invoice without `digest`: object keys recursively sorted and array order kept.
|
|
104
|
+
|
|
105
|
+
`billingSummary(result)` returns a deterministic Terminal/WebUI summary. The
|
|
106
|
+
lines are joined with the actual LF character (`"\n"`), never the two literal
|
|
107
|
+
characters backslash and `n`. The first line is:
|
|
108
|
+
|
|
109
|
+
```text
|
|
110
|
+
period=<start>..<end>; invoices=<count>; reversed=<count>
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Then emit one line per invoice, in result order:
|
|
114
|
+
|
|
115
|
+
```text
|
|
116
|
+
tenant=<JSON string>; currency=<currency>; lines=<count>; subtotalMicros=<value>; totalMinor=<value>; digest=<digest>
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Reject malformed result objects rather than displaying a misleading summary.
|
|
120
|
+
Add focused integration tests if useful; change only the declared source/test
|
|
121
|
+
scope.
|
|
122
|
+
|
|
123
|
+
Run `npm test` when complete; it includes a fixed public happy-path contract for this scenario.
|
|
@@ -11,3 +11,5 @@ Requirements:
|
|
|
11
11
|
- The operation is transactional: any validation failure throws and yields no partial object.
|
|
12
12
|
|
|
13
13
|
Use Node's standard library only. Add focused tests if useful.
|
|
14
|
+
|
|
15
|
+
Run `npm test` when complete; it includes a fixed public happy-path contract for this scenario.
|
|
@@ -1,11 +1,45 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion":
|
|
2
|
+
"schemaVersion": 2,
|
|
3
3
|
"id": "deep-logic-v1",
|
|
4
4
|
"title": "Piagent Deep Logic V1",
|
|
5
|
-
"description": "Paired current-model tasks with interacting invariants across event reconciliation, scheduling, layered policy, graph context, stream recovery, and
|
|
5
|
+
"description": "Paired current-model tasks with interacting invariants across event reconciliation, scheduling, layered policy, graph context, stream recovery, transactional configuration, and temporal usage billing.",
|
|
6
6
|
"profile": "node-typescript",
|
|
7
|
-
"defaultRepeats":
|
|
7
|
+
"defaultRepeats": 3,
|
|
8
8
|
"timeoutSeconds": 1200,
|
|
9
|
+
"executionContract": {
|
|
10
|
+
"surfaces": ["piagent", "codex-cli"],
|
|
11
|
+
"model": "openai-codex/gpt-5.6-luna",
|
|
12
|
+
"thinking": "medium",
|
|
13
|
+
"codexMode": "controlled"
|
|
14
|
+
},
|
|
15
|
+
"assurance": {
|
|
16
|
+
"taskSource": "maintainer-authored-deep-work-archetypes",
|
|
17
|
+
"visibility": "public-suite-with-run-private-oracles",
|
|
18
|
+
"claimTier": "capability",
|
|
19
|
+
"generatedVariants": true,
|
|
20
|
+
"familyDisjointSplit": false,
|
|
21
|
+
"reviewed": true,
|
|
22
|
+
"refreshedAt": "2026-08-21"
|
|
23
|
+
},
|
|
24
|
+
"releaseGate": {
|
|
25
|
+
"minimumQualityScore": 9.5,
|
|
26
|
+
"minimumSafetyScore": 10,
|
|
27
|
+
"minimumReliabilityScore": 9.5,
|
|
28
|
+
"minimumWorkflowScore": 9.5,
|
|
29
|
+
"minimumCategoryScore": 9.5,
|
|
30
|
+
"minimumOutcomeScoreExclusive": 9.5,
|
|
31
|
+
"minimumPairedScenarios": 7,
|
|
32
|
+
"minimumComparableEfficiencyScenarios": 7,
|
|
33
|
+
"minimumRepeats": 3,
|
|
34
|
+
"maximumInfrastructureRetries": 0,
|
|
35
|
+
"maximumFreshTokenRatioUpper95": 0.8,
|
|
36
|
+
"maximumDurationRatioUpper95": 1.1,
|
|
37
|
+
"primaryEfficiencyEstimand": "failure-aware-family-ratio",
|
|
38
|
+
"requireEfficiencyClaim": true,
|
|
39
|
+
"requireFullSuiteForClaim": true,
|
|
40
|
+
"requireStableProviderWireSurface": true,
|
|
41
|
+
"requireCausalContextReceipt": true
|
|
42
|
+
},
|
|
9
43
|
"scenarios": [
|
|
10
44
|
{
|
|
11
45
|
"id": "revision-event-reconciliation",
|
|
@@ -90,6 +124,20 @@
|
|
|
90
124
|
"grader": "grade.mjs",
|
|
91
125
|
"variantGenerator": "variant.mjs",
|
|
92
126
|
"allowedChanges": ["src/config-transaction.js", "test/**"]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"id": "temporal-usage-billing-close",
|
|
130
|
+
"title": "Temporal usage billing close with exact audit",
|
|
131
|
+
"kind": "source-change",
|
|
132
|
+
"category": "financial-correctness",
|
|
133
|
+
"difficulty": "large",
|
|
134
|
+
"profile": "fullstack",
|
|
135
|
+
"lifecycle": "cold-start",
|
|
136
|
+
"fixture": "project",
|
|
137
|
+
"prompt": "prompts/temporal-usage-billing-close.md",
|
|
138
|
+
"grader": "grade.mjs",
|
|
139
|
+
"variantGenerator": "variant.mjs",
|
|
140
|
+
"allowedChanges": ["packages/billing/src/**", "apps/admin/src/billing-summary.js", "test/**"]
|
|
93
141
|
}
|
|
94
142
|
]
|
|
95
143
|
}
|
|
@@ -20,8 +20,29 @@ switch (scenarioId) {
|
|
|
20
20
|
}; break;
|
|
21
21
|
case "layered-policy-resolution": oracle.graderData = { protectedPath: `private/${token("vault")}/secret.json`, operation: token("read") }; break;
|
|
22
22
|
case "budgeted-context-graph": oracle.graderData = { term: token("resolver"), budget: integer(8, 14) }; break;
|
|
23
|
-
case "resumable-stream-assembly":
|
|
23
|
+
case "resumable-stream-assembly": {
|
|
24
|
+
const astral = ["🙂", "🧠", "🚀"][integer(0, 2)];
|
|
25
|
+
oracle.graderData = {
|
|
26
|
+
first: token("hello"),
|
|
27
|
+
second: token("world"),
|
|
28
|
+
third: token("chunk"),
|
|
29
|
+
message: token("message"),
|
|
30
|
+
other: token("message"),
|
|
31
|
+
start: integer(2, 24),
|
|
32
|
+
astral
|
|
33
|
+
};
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
24
36
|
case "transactional-config-merge": oracle.graderData = { key: token("feature"), value: token("enabled") }; break;
|
|
37
|
+
case "temporal-usage-billing-close": oracle.graderData = {
|
|
38
|
+
tenantA: token("tenant"),
|
|
39
|
+
tenantB: token("tenant"),
|
|
40
|
+
meter: token("meter"),
|
|
41
|
+
plans: [token("plan"), token("plan"), token("plan")],
|
|
42
|
+
firstLimit: integer(4, 12),
|
|
43
|
+
secondLimit: integer(15, 28),
|
|
44
|
+
prices: [integer(110_000, 390_000), integer(410_000, 790_000), integer(810_000, 1_250_000)]
|
|
45
|
+
}; break;
|
|
25
46
|
default: throw new Error(`unsupported deep logic scenario ${scenarioId}`);
|
|
26
47
|
}
|
|
27
48
|
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"suiteId": "production-v1",
|
|
4
|
+
"purpose": "Provider-spend control before the one claim-eligible 108-session token-quality-continuity result.",
|
|
5
|
+
"rootSeed": "production-v1-40-gate-v1-1370",
|
|
6
|
+
"execution": {
|
|
7
|
+
"surfaces": ["piagent", "codex-cli"],
|
|
8
|
+
"model": "openai-codex/gpt-5.6-luna",
|
|
9
|
+
"thinking": "medium",
|
|
10
|
+
"repeats": 3,
|
|
11
|
+
"infrastructureRetries": 0,
|
|
12
|
+
"stopAfterFailedPair": true
|
|
13
|
+
},
|
|
14
|
+
"stages": [
|
|
15
|
+
{ "id": "S0", "cumulativeSessions": 0, "newSessions": 0, "mode": "preflight-only", "claimEligible": false },
|
|
16
|
+
{ "id": "S12", "cumulativeSessions": 12, "newSessions": 12, "mode": "execute-and-pause", "claimEligible": false },
|
|
17
|
+
{ "id": "S36", "cumulativeSessions": 36, "newSessions": 24, "mode": "resume-and-pause", "claimEligible": false },
|
|
18
|
+
{ "id": "S72", "cumulativeSessions": 72, "newSessions": 36, "mode": "resume-and-pause", "claimEligible": false },
|
|
19
|
+
{ "id": "S108", "cumulativeSessions": 108, "newSessions": 36, "mode": "resume-and-finalize", "claimEligible": true }
|
|
20
|
+
],
|
|
21
|
+
"earlyDetection": {
|
|
22
|
+
"expectedFirstRepeatScenarioIds": [
|
|
23
|
+
"cli-double-dash",
|
|
24
|
+
"destructive-history-refusal",
|
|
25
|
+
"tenant-role-authorization",
|
|
26
|
+
"expiry-boundary",
|
|
27
|
+
"quoted-csv",
|
|
28
|
+
"unicode-search"
|
|
29
|
+
],
|
|
30
|
+
"requiredCategoryCoverage": ["backend", "frontend", "data", "platform", "reliability", "security"],
|
|
31
|
+
"requiredLifecycleCoverage": ["steady-state", "cold-start"],
|
|
32
|
+
"requiredDifficultyCoverage": ["small", "medium", "large"]
|
|
33
|
+
},
|
|
34
|
+
"productionGuards": {
|
|
35
|
+
"subagents": {
|
|
36
|
+
"required": true,
|
|
37
|
+
"maximumSessionsPerAttempt": 1,
|
|
38
|
+
"maximumTrafficShare": 0.05,
|
|
39
|
+
"requireExactAllAttemptEvidence": true,
|
|
40
|
+
"requireExplainedSessionCount": true
|
|
41
|
+
},
|
|
42
|
+
"partialFreshSpend": {
|
|
43
|
+
"requiredFromCumulativeSessions": 12,
|
|
44
|
+
"maximumPooledFreshRatio": 1.1,
|
|
45
|
+
"maximumObservedFamilyFreshRatio": 1.25,
|
|
46
|
+
"includeExactFailedAttempts": true
|
|
47
|
+
},
|
|
48
|
+
"providerFreeEvidence": {
|
|
49
|
+
"requiredBeforeFirstPaidSession": true,
|
|
50
|
+
"requiredLaneIds": ["runtime-conformance-v1", "long-horizon-v1", "webui-parity-v1"],
|
|
51
|
+
"requireCleanCommitAndTreeBinding": true,
|
|
52
|
+
"requireProductionConfigurationBinding": true,
|
|
53
|
+
"requireRunnerAndLaneConfigurationDigests": true
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"enforcement": {
|
|
57
|
+
"runnerConsumesThisArtifact": true,
|
|
58
|
+
"runnerBindsFrozenSeedAndExecution": true,
|
|
59
|
+
"runnerWritesAtomicPrivateStageDiagnostic": true,
|
|
60
|
+
"runnerBlocksProductionResumeWhenStageDiagnosticFails": true,
|
|
61
|
+
"durableStageStateSurvivesMissingPauseMarker": true,
|
|
62
|
+
"completeLedgerFinalizesWithoutProviderPreflight": true,
|
|
63
|
+
"stageDiagnosticArtifact": "stage-diagnostic.json",
|
|
64
|
+
"automaticTerminalOrAbortRules": [
|
|
65
|
+
"dirty-release-source-before-auth-tool-or-provider-preflight",
|
|
66
|
+
"piagent-unresolved-or-outcome-score-at-or-below-floor-via-stop-after-failed-pair",
|
|
67
|
+
"infrastructure-error-or-unknown-provider-attempt-usage-via-runner-abort",
|
|
68
|
+
"candidate-provenance-drift-via-execution-guard"
|
|
69
|
+
],
|
|
70
|
+
"stageAdvanceRules": [
|
|
71
|
+
"clean-release-source",
|
|
72
|
+
"no-baseline-pass-piagent-fail",
|
|
73
|
+
"no-observed-paired-grade-regression",
|
|
74
|
+
"all-observed-piagent-outcomes-remain-above-the-release-floor",
|
|
75
|
+
"no-model-thinking-or-provider-wire-parity-drift",
|
|
76
|
+
"complete-privacy-safe-causal-context-receipt-with-closed-session-lifecycle",
|
|
77
|
+
"source-bound-provider-free-runtime-long-horizon-and-webui-parity-receipts",
|
|
78
|
+
"exact-subagent-budget-at-most-one-session-per-attempt-and-five-percent-traffic",
|
|
79
|
+
"partial-stage-pooled-fresh-ratio-at-most-1.10-and-every-observed-family-at-most-1.25",
|
|
80
|
+
"no-accepted-usage-completeness-failure",
|
|
81
|
+
"no-infrastructure-retry",
|
|
82
|
+
"no-unknown-provider-attempt-usage"
|
|
83
|
+
],
|
|
84
|
+
"nonBlockingDiagnostics": [
|
|
85
|
+
"normalized-api-equivalent-text-token-cost",
|
|
86
|
+
"duration",
|
|
87
|
+
"host-load"
|
|
88
|
+
],
|
|
89
|
+
"operatorRule": "The commands pass this artifact's frozen values explicitly. S0 binds clean-source runtime-conformance, long-horizon, and WebUI-parity receipts before paid work. Every partial paid stage from S12 onward hard-stops when pooled fresh traffic exceeds 1.10, any observed family exceeds 1.25, or exact subagent evidence exceeds one child session per attempt or 5% of candidate traffic. Cost, duration, and host load remain observational. Only the complete S108 ledger may decide the 0.60 upper-95 fresh-token claim."
|
|
90
|
+
},
|
|
91
|
+
"claimBoundary": "Only S108 may be evaluated for the production-v1 0.60 upper-95 fresh-token public-regression claim. S12, S36 and S72 enforce catastrophic fresh-spend and subagent safety ceilings but cannot establish the claim. Duration, host load, and normalized cost are reported but cannot block or support this claim."
|
|
92
|
+
}
|
|
@@ -6,6 +6,38 @@
|
|
|
6
6
|
"profile": "node-typescript",
|
|
7
7
|
"defaultRepeats": 3,
|
|
8
8
|
"timeoutSeconds": 900,
|
|
9
|
+
"executionContract": {
|
|
10
|
+
"surfaces": ["piagent", "codex-cli"],
|
|
11
|
+
"model": "openai-codex/gpt-5.6-luna",
|
|
12
|
+
"thinking": "medium",
|
|
13
|
+
"codexMode": "controlled"
|
|
14
|
+
},
|
|
15
|
+
"pricingSnapshot": {
|
|
16
|
+
"schemaVersion": 1,
|
|
17
|
+
"id": "openai-gpt-5-6-luna-2026-08-22",
|
|
18
|
+
"model": "openai-codex/gpt-5.6-luna",
|
|
19
|
+
"currency": "USD",
|
|
20
|
+
"unitTokens": 1000000,
|
|
21
|
+
"rates": {
|
|
22
|
+
"freshInput": 0.2,
|
|
23
|
+
"cachedInput": 0.02,
|
|
24
|
+
"output": 1.2
|
|
25
|
+
},
|
|
26
|
+
"cacheWrite": {
|
|
27
|
+
"basis": "fresh-input",
|
|
28
|
+
"multiplier": 1.25
|
|
29
|
+
},
|
|
30
|
+
"longContext": {
|
|
31
|
+
"thresholdInputTokens": 272000,
|
|
32
|
+
"condition": "per-request-input-greater-than",
|
|
33
|
+
"inputMultiplier": 2,
|
|
34
|
+
"outputMultiplier": 1.5
|
|
35
|
+
},
|
|
36
|
+
"source": {
|
|
37
|
+
"url": "https://developers.openai.com/api/docs/models/gpt-5.6-luna",
|
|
38
|
+
"retrievedAt": "2026-08-22"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
9
41
|
"assurance": {
|
|
10
42
|
"taskSource": "maintainer-authored-production-archetypes",
|
|
11
43
|
"visibility": "public-suite-with-run-private-oracles",
|
|
@@ -23,10 +55,21 @@
|
|
|
23
55
|
"minimumCategoryScore": 9.5,
|
|
24
56
|
"minimumOutcomeScoreExclusive": 9.5,
|
|
25
57
|
"minimumPairedScenarios": 18,
|
|
26
|
-
"minimumComparableEfficiencyScenarios":
|
|
58
|
+
"minimumComparableEfficiencyScenarios": 18,
|
|
27
59
|
"minimumRepeats": 3,
|
|
28
|
-
"
|
|
29
|
-
"
|
|
60
|
+
"maximumInfrastructureRetries": 0,
|
|
61
|
+
"primaryEfficiencyEstimand": "fixed-workload-family-ratio",
|
|
62
|
+
"maximumFreshTokenRatioUpper95": 0.6,
|
|
63
|
+
"requireEfficiencyClaim": true,
|
|
64
|
+
"requireNormalizedCostClaim": false,
|
|
65
|
+
"requireHostReadinessForClaim": false,
|
|
66
|
+
"requireFullSuiteForClaim": true,
|
|
67
|
+
"requireStableProviderWireSurface": true,
|
|
68
|
+
"requireCausalContextReceipt": true,
|
|
69
|
+
"requireProviderFreeEvidence": true,
|
|
70
|
+
"requireSubagentBudget": true,
|
|
71
|
+
"maximumSubagentSessionsPerAttempt": 1,
|
|
72
|
+
"maximumSubagentTrafficShare": 0.05
|
|
30
73
|
},
|
|
31
74
|
"scenarios": [
|
|
32
75
|
{
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"path": "evals/scenarios/capability-resolution.json"
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
|
-
"byteSize":
|
|
30
|
-
"digest": "sha256:
|
|
29
|
+
"byteSize": 7158,
|
|
30
|
+
"digest": "sha256:8edb1cce6716291c8ca642d3d2392c8f6c92e725ca502e93e06ab45abe541a79",
|
|
31
31
|
"id": "base-policy",
|
|
32
32
|
"kind": "policies",
|
|
33
33
|
"path": "packages/piagent-core/policies/base-policy.json"
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"path": "packages/piagent-core/prompts/commit.md"
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
|
-
"byteSize":
|
|
44
|
-
"digest": "sha256:
|
|
43
|
+
"byteSize": 1413,
|
|
44
|
+
"digest": "sha256:cb6e7bad1305c7b61d34489cbb5d066ca99855dcfc846dee1668d16d17be8a2b",
|
|
45
45
|
"id": "plan",
|
|
46
46
|
"kind": "prompts",
|
|
47
47
|
"path": "packages/piagent-core/prompts/plan.md"
|
|
@@ -54,15 +54,15 @@
|
|
|
54
54
|
"path": "packages/piagent-core/prompts/pr.md"
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
|
-
"byteSize":
|
|
58
|
-
"digest": "sha256:
|
|
57
|
+
"byteSize": 1375,
|
|
58
|
+
"digest": "sha256:bd474a18754c3ab835951d802158c5a19bd5e92f66cffd0dd6b560adcadb795d",
|
|
59
59
|
"id": "review",
|
|
60
60
|
"kind": "prompts",
|
|
61
61
|
"path": "packages/piagent-core/prompts/review.md"
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
|
-
"byteSize":
|
|
65
|
-
"digest": "sha256:
|
|
64
|
+
"byteSize": 2796,
|
|
65
|
+
"digest": "sha256:8f1552bac55dce1399f3e65cce0333205b2002cc37d4366d69e25b0b4d5f09f9",
|
|
66
66
|
"id": "task",
|
|
67
67
|
"kind": "prompts",
|
|
68
68
|
"path": "packages/piagent-core/prompts/task.md"
|
|
@@ -82,29 +82,29 @@
|
|
|
82
82
|
"path": "packages/piagent-core/skills/piagent-ops/SKILL.md"
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
|
-
"byteSize":
|
|
86
|
-
"digest": "sha256:
|
|
85
|
+
"byteSize": 2223,
|
|
86
|
+
"digest": "sha256:18f865d816c5a5cee50bf3b2b407c23a2e67e1e92d929001a0f24c04d0c20e03",
|
|
87
87
|
"id": "piagent-planner",
|
|
88
88
|
"kind": "subagents",
|
|
89
89
|
"path": "packages/piagent-core/subagents/piagent-planner.md"
|
|
90
90
|
},
|
|
91
91
|
{
|
|
92
|
-
"byteSize":
|
|
93
|
-
"digest": "sha256:
|
|
92
|
+
"byteSize": 2091,
|
|
93
|
+
"digest": "sha256:4e514d6480a618d610d4f520af93fa4e151ef60b42b30f5cf94da1a9c96d6ead",
|
|
94
94
|
"id": "piagent-reviewer",
|
|
95
95
|
"kind": "subagents",
|
|
96
96
|
"path": "packages/piagent-core/subagents/piagent-reviewer.md"
|
|
97
97
|
},
|
|
98
98
|
{
|
|
99
|
-
"byteSize":
|
|
100
|
-
"digest": "sha256:
|
|
99
|
+
"byteSize": 1714,
|
|
100
|
+
"digest": "sha256:37d9638bfbca8d50f86cbee3fee4db3ba9197bf06004d3a7bba08fc2f8249549",
|
|
101
101
|
"id": "piagent-scout",
|
|
102
102
|
"kind": "subagents",
|
|
103
103
|
"path": "packages/piagent-core/subagents/piagent-scout.md"
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
|
-
"byteSize":
|
|
107
|
-
"digest": "sha256:
|
|
106
|
+
"byteSize": 2210,
|
|
107
|
+
"digest": "sha256:aa18041470aae1a2b600cef1c09ddbfcd8b86e1efb6858c1f460e46292120e9d",
|
|
108
108
|
"id": "piagent-worker",
|
|
109
109
|
"kind": "subagents",
|
|
110
110
|
"path": "packages/piagent-core/subagents/piagent-worker.md"
|
|
@@ -151,8 +151,8 @@
|
|
|
151
151
|
},
|
|
152
152
|
"artifacts": [
|
|
153
153
|
{
|
|
154
|
-
"byteSize":
|
|
155
|
-
"digest": "sha256:
|
|
154
|
+
"byteSize": 2378,
|
|
155
|
+
"digest": "sha256:35d6757d0a8d2f8644b967fe82645fba3de430b53f23b5577c2e5e104dcccdc1",
|
|
156
156
|
"id": "web-frontend",
|
|
157
157
|
"kind": "adapters",
|
|
158
158
|
"path": "adapters/web-frontend/profile.json"
|
|
@@ -170,7 +170,7 @@ directory sibling, unresolved test, denied carrier, failed call, or successful
|
|
|
170
170
|
no-op locks the opportunity and invalidates reusable review credit. A real
|
|
171
171
|
mutation must be followed by the task's exact verifier on the new tree before
|
|
172
172
|
completion. Retryable infrastructure failure may retry that verifier once on
|
|
173
|
-
the same digest, and a high-confidence
|
|
173
|
+
the same digest, and a high-confidence evidence-backed failure may open one final
|
|
174
174
|
mutation-bound correction inside the already consumed continuation. Every
|
|
175
175
|
other failure, repeated signature, exhausted budget, stale/corrupt state, or
|
|
176
176
|
unsupported semantic shape produces a deterministic handoff rather than a new
|