@piagent/platform 1.6.1 → 1.8.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 +71 -0
- package/README.md +8 -2
- package/README.vi.md +11 -2
- package/adapters/common/assurance-producers.json +109 -0
- package/adapters/common/structured-assurance-facts.mjs +153 -0
- package/adapters/node-typescript/contract-families.json +2811 -0
- package/adapters/node-typescript/contract-families.md +90 -0
- package/benchmarks/production-v1/grade.mjs +20 -0
- package/benchmarks/production-v1/spend-control.v1.json +3 -3
- package/benchmarks/production-v2/grade.mjs +892 -0
- package/benchmarks/production-v2/project/README.md +7 -0
- package/benchmarks/production-v2/project/config/service.json +4 -0
- package/benchmarks/production-v2/project/data/audit-ledger.jsonl +1 -0
- package/benchmarks/production-v2/project/docs/ops.md +3 -0
- package/benchmarks/production-v2/project/logs/incident.log +2 -0
- package/benchmarks/production-v2/project/package.json +11 -0
- package/benchmarks/production-v2/project/scripts/check.mjs +21 -0
- package/benchmarks/production-v2/project/src/backend/auth.js +3 -0
- package/benchmarks/production-v2/project/src/backend/billing-window.js +4 -0
- package/benchmarks/production-v2/project/src/backend/cache.js +15 -0
- package/benchmarks/production-v2/project/src/backend/invoice.js +4 -0
- package/benchmarks/production-v2/project/src/backend/revocation-cache.js +3 -0
- package/benchmarks/production-v2/project/src/data/csv.js +3 -0
- package/benchmarks/production-v2/project/src/data/dedup.js +5 -0
- package/benchmarks/production-v2/project/src/data/migration.js +9 -0
- package/benchmarks/production-v2/project/src/data/ndjson-stream.js +5 -0
- package/benchmarks/production-v2/project/src/data/versioned-replay.js +8 -0
- package/benchmarks/production-v2/project/src/frontend/chat-events.js +7 -0
- package/benchmarks/production-v2/project/src/frontend/pagination.js +8 -0
- package/benchmarks/production-v2/project/src/frontend/request-lifecycle.js +15 -0
- package/benchmarks/production-v2/project/src/frontend/search-state.js +8 -0
- package/benchmarks/production-v2/project/src/frontend/unicode-search.js +7 -0
- package/benchmarks/production-v2/project/src/fullstack/contract-sync.js +10 -0
- package/benchmarks/production-v2/project/src/platform/args.js +10 -0
- package/benchmarks/production-v2/project/src/platform/config.js +7 -0
- package/benchmarks/production-v2/project/src/platform/workflow-session.js +9 -0
- package/benchmarks/production-v2/project/src/platform/workspace.js +13 -0
- package/benchmarks/production-v2/project/src/reliability/checkpoint.js +5 -0
- package/benchmarks/production-v2/project/src/reliability/expiry.js +5 -0
- package/benchmarks/production-v2/project/src/reliability/retry.js +15 -0
- package/benchmarks/production-v2/project/test/smoke.test.js +21 -0
- package/benchmarks/production-v2/project/vendor/README.md +1 -0
- package/benchmarks/production-v2/prompts/abort-reconnect-supersession.md +11 -0
- package/benchmarks/production-v2/prompts/backend-frontend-contract-sync.md +12 -0
- package/benchmarks/production-v2/prompts/billing-cutoff-clock-skew.md +11 -0
- package/benchmarks/production-v2/prompts/bounded-retry.md +7 -0
- package/benchmarks/production-v2/prompts/chunked-record-boundary.md +9 -0
- package/benchmarks/production-v2/prompts/cli-double-dash.md +7 -0
- package/benchmarks/production-v2/prompts/config-precedence.md +6 -0
- package/benchmarks/production-v2/prompts/destructive-history-refusal.md +3 -0
- package/benchmarks/production-v2/prompts/expiry-boundary.md +7 -0
- package/benchmarks/production-v2/prompts/idempotent-replay-conflict.md +11 -0
- package/benchmarks/production-v2/prompts/incident-diagnosis.md +4 -0
- package/benchmarks/production-v2/prompts/invoice-rounding.md +9 -0
- package/benchmarks/production-v2/prompts/journeys/config-precedence-scout.md +3 -0
- package/benchmarks/production-v2/prompts/journeys/expiry-boundary-scout.md +3 -0
- package/benchmarks/production-v2/prompts/journeys/quoted-csv-scout.md +3 -0
- package/benchmarks/production-v2/prompts/journeys/recover-after-uncertain-send.md +4 -0
- package/benchmarks/production-v2/prompts/journeys/repository-prompt-injection-scout.md +4 -0
- package/benchmarks/production-v2/prompts/journeys/resumable-checkpoint-partial-failure-scout.md +4 -0
- package/benchmarks/production-v2/prompts/journeys/stable-dedup-scout.md +3 -0
- package/benchmarks/production-v2/prompts/journeys/stale-search-response-scout.md +3 -0
- package/benchmarks/production-v2/prompts/journeys/tenant-cache-isolation-scout.md +4 -0
- package/benchmarks/production-v2/prompts/journeys/verify-current-contract.md +4 -0
- package/benchmarks/production-v2/prompts/journeys/workflow-switch-same-session-scout.md +4 -0
- package/benchmarks/production-v2/prompts/pagination-boundary.md +7 -0
- package/benchmarks/production-v2/prompts/protected-env-refusal.md +2 -0
- package/benchmarks/production-v2/prompts/quoted-csv.md +6 -0
- package/benchmarks/production-v2/prompts/reconnect-chat-event-order.md +19 -0
- package/benchmarks/production-v2/prompts/repository-prompt-injection.md +5 -0
- package/benchmarks/production-v2/prompts/resumable-checkpoint-partial-failure.md +11 -0
- package/benchmarks/production-v2/prompts/revoked-session-cache.md +10 -0
- package/benchmarks/production-v2/prompts/schema-migration.md +6 -0
- package/benchmarks/production-v2/prompts/stable-dedup.md +6 -0
- package/benchmarks/production-v2/prompts/stale-search-response.md +6 -0
- package/benchmarks/production-v2/prompts/tenant-cache-isolation.md +6 -0
- package/benchmarks/production-v2/prompts/tenant-role-authorization.md +6 -0
- package/benchmarks/production-v2/prompts/unicode-search.md +6 -0
- package/benchmarks/production-v2/prompts/workflow-switch-same-session.md +30 -0
- package/benchmarks/production-v2/prompts/workspace-order.md +7 -0
- package/benchmarks/production-v2/spend-control.v1.json +115 -0
- package/benchmarks/production-v2/suite.json +1009 -0
- package/benchmarks/production-v2/variant.mjs +169 -0
- package/benchmarks/production-v3/CONTRACT-REVISION-20260922.md +31 -0
- package/benchmarks/production-v3/calibration/corpus.v1.json +63 -0
- package/benchmarks/production-v3/calibration/human-review-rubric.v1.json +36 -0
- package/benchmarks/production-v3/grade.mjs +1017 -0
- package/benchmarks/production-v3/project/README.md +7 -0
- package/benchmarks/production-v3/project/config/service.json +4 -0
- package/benchmarks/production-v3/project/data/audit-ledger.jsonl +1 -0
- package/benchmarks/production-v3/project/docs/ops.md +3 -0
- package/benchmarks/production-v3/project/logs/incident.log +2 -0
- package/benchmarks/production-v3/project/package.json +11 -0
- package/benchmarks/production-v3/project/scripts/check.mjs +21 -0
- package/benchmarks/production-v3/project/src/backend/auth.js +3 -0
- package/benchmarks/production-v3/project/src/backend/billing-window.js +4 -0
- package/benchmarks/production-v3/project/src/backend/cache.js +15 -0
- package/benchmarks/production-v3/project/src/backend/invoice.js +4 -0
- package/benchmarks/production-v3/project/src/backend/revocation-cache.js +12 -0
- package/benchmarks/production-v3/project/src/data/csv.js +3 -0
- package/benchmarks/production-v3/project/src/data/dedup.js +5 -0
- package/benchmarks/production-v3/project/src/data/migration.js +9 -0
- package/benchmarks/production-v3/project/src/data/ndjson-stream.js +5 -0
- package/benchmarks/production-v3/project/src/data/versioned-replay.js +8 -0
- package/benchmarks/production-v3/project/src/frontend/chat-events.js +7 -0
- package/benchmarks/production-v3/project/src/frontend/pagination.js +8 -0
- package/benchmarks/production-v3/project/src/frontend/request-lifecycle.js +23 -0
- package/benchmarks/production-v3/project/src/frontend/search-state.js +8 -0
- package/benchmarks/production-v3/project/src/frontend/unicode-search.js +7 -0
- package/benchmarks/production-v3/project/src/fullstack/contract-sync.js +10 -0
- package/benchmarks/production-v3/project/src/platform/args.js +10 -0
- package/benchmarks/production-v3/project/src/platform/config.js +7 -0
- package/benchmarks/production-v3/project/src/platform/workflow-session.js +9 -0
- package/benchmarks/production-v3/project/src/platform/workspace.js +13 -0
- package/benchmarks/production-v3/project/src/reliability/checkpoint.js +5 -0
- package/benchmarks/production-v3/project/src/reliability/expiry.js +14 -0
- package/benchmarks/production-v3/project/src/reliability/retry.js +15 -0
- package/benchmarks/production-v3/project/test/smoke.test.js +21 -0
- package/benchmarks/production-v3/project/vendor/README.md +1 -0
- package/benchmarks/production-v3/prompts/abort-reconnect-supersession.md +11 -0
- package/benchmarks/production-v3/prompts/backend-frontend-contract-sync.md +20 -0
- package/benchmarks/production-v3/prompts/billing-cutoff-clock-skew.md +11 -0
- package/benchmarks/production-v3/prompts/bounded-retry.md +7 -0
- package/benchmarks/production-v3/prompts/chunked-record-boundary.md +11 -0
- package/benchmarks/production-v3/prompts/cli-double-dash.md +7 -0
- package/benchmarks/production-v3/prompts/config-precedence.md +6 -0
- package/benchmarks/production-v3/prompts/destructive-history-refusal.md +9 -0
- package/benchmarks/production-v3/prompts/expiry-boundary.md +14 -0
- package/benchmarks/production-v3/prompts/idempotent-replay-conflict.md +13 -0
- package/benchmarks/production-v3/prompts/incident-diagnosis.md +4 -0
- package/benchmarks/production-v3/prompts/invoice-rounding.md +9 -0
- package/benchmarks/production-v3/prompts/journeys/config-precedence-scout.md +3 -0
- package/benchmarks/production-v3/prompts/journeys/expiry-boundary-scout.md +3 -0
- package/benchmarks/production-v3/prompts/journeys/quoted-csv-scout.md +3 -0
- package/benchmarks/production-v3/prompts/journeys/recover-after-uncertain-send.md +4 -0
- package/benchmarks/production-v3/prompts/journeys/repository-prompt-injection-scout.md +4 -0
- package/benchmarks/production-v3/prompts/journeys/resumable-checkpoint-partial-failure-scout.md +4 -0
- package/benchmarks/production-v3/prompts/journeys/stable-dedup-scout.md +3 -0
- package/benchmarks/production-v3/prompts/journeys/stale-search-response-scout.md +3 -0
- package/benchmarks/production-v3/prompts/journeys/tenant-cache-isolation-scout.md +4 -0
- package/benchmarks/production-v3/prompts/journeys/verify-current-contract.md +4 -0
- package/benchmarks/production-v3/prompts/journeys/workflow-switch-same-session-scout.md +4 -0
- package/benchmarks/production-v3/prompts/pagination-boundary.md +9 -0
- package/benchmarks/production-v3/prompts/protected-env-refusal.md +8 -0
- package/benchmarks/production-v3/prompts/quoted-csv.md +6 -0
- package/benchmarks/production-v3/prompts/reconnect-chat-event-order.md +20 -0
- package/benchmarks/production-v3/prompts/repository-prompt-injection.md +5 -0
- package/benchmarks/production-v3/prompts/resumable-checkpoint-partial-failure.md +15 -0
- package/benchmarks/production-v3/prompts/revoked-session-cache.md +10 -0
- package/benchmarks/production-v3/prompts/schema-migration.md +6 -0
- package/benchmarks/production-v3/prompts/stable-dedup.md +6 -0
- package/benchmarks/production-v3/prompts/stale-search-response.md +6 -0
- package/benchmarks/production-v3/prompts/tenant-cache-isolation.md +6 -0
- package/benchmarks/production-v3/prompts/tenant-role-authorization.md +6 -0
- package/benchmarks/production-v3/prompts/unicode-search.md +6 -0
- package/benchmarks/production-v3/prompts/workflow-switch-same-session.md +30 -0
- package/benchmarks/production-v3/prompts/workspace-order.md +7 -0
- package/benchmarks/production-v3/public-checks/abort-reconnect-supersession.js +34 -0
- package/benchmarks/production-v3/public-checks/expiry-boundary.js +29 -0
- package/benchmarks/production-v3/public-checks/revoked-session-cache.js +20 -0
- package/benchmarks/production-v3/spend-control.v1.json +121 -0
- package/benchmarks/production-v3/suite.json +1010 -0
- package/benchmarks/production-v3/variant.mjs +178 -0
- package/catalog/capabilities.json +2 -2
- package/docs/benchmark-codex-mcp-metadata-contract-v1.md +159 -0
- package/docs/benchmark-codex-mcp-metadata-contract-v2.md +182 -0
- package/docs/benchmark-codex-mcp-metadata-contract-v3.md +194 -0
- package/docs/benchmark-public-contract-addendum-v2.md +85 -0
- package/docs/benchmark-public-contract-addendum-v3.md +116 -0
- package/docs/command-reference-vietnamese.md +10 -7
- package/docs/context-window-policy.md +3 -3
- package/docs/distribution-standard.md +9 -9
- package/docs/languages.json +2 -2
- package/docs/model-options.md +20 -15
- package/docs/operator-manual-vietnamese.md +12 -12
- package/docs/piagent-codex-benchmark-recovery-plan.md +1817 -0
- package/docs/piagent-core-evaluation-specs-2026-09-06.json +706 -0
- package/docs/piagent-core-improvement-plan.md +528 -0
- package/docs/piagent-core-offline-implementation-2026-09-06.md +219 -0
- package/docs/piagent-core-plan-checkpoint-2026-09-06.json +69 -0
- package/docs/piagent-core-reasoning-research-2026-09-06.md +225 -0
- package/docs/piagent-core-research-sources-2026-09-06.json +416 -0
- package/docs/piagent-open-session-wait.md +19 -0
- package/docs/piagent-runtime-benchmark-execution-plan.md +685 -0
- package/docs/publishing-for-teams.md +3 -0
- package/docs/quality-benchmark.md +128 -8
- package/docs/quickstart-vietnamese.md +2 -2
- package/docs/release-install-policy.md +38 -11
- package/docs/research/harness-next-evidence-review.md +113 -0
- package/docs/team-onboarding.md +7 -7
- package/docs/third-party-neutrality.md +7 -0
- package/docs/usage-observability.md +1 -1
- package/docs-site/architecture.html +1 -1
- package/docs-site/benchmark.html +1 -1
- package/docs-site/commands.html +1 -1
- package/docs-site/content/en/runtime.html +1 -1
- package/docs-site/content/en/whats-new.html +23 -0
- package/docs-site/content/runtime.html +2 -2
- package/docs-site/content/whats-new.html +23 -0
- package/docs-site/context-engine.html +1 -1
- package/docs-site/en/architecture.html +1 -1
- package/docs-site/en/benchmark.html +1 -1
- package/docs-site/en/commands.html +1 -1
- package/docs-site/en/context-engine.html +1 -1
- package/docs-site/en/index.html +1 -1
- 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 +2 -2
- 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 +24 -1
- package/docs-site/en/workflows.html +1 -1
- package/docs-site/index.html +1 -1
- 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 +3 -3
- 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 +24 -1
- package/docs-site/workflows.html +1 -1
- package/evals/architecture-conformance-v1/lane.json +18 -0
- package/evals/architecture-conformance-v1/runner.mjs +77 -0
- package/evals/fixtures/approved-host-contracts.invalid.json +43 -0
- package/evals/fixtures/approved-host-contracts.valid.json +43 -0
- package/evals/fixtures/benchmark-attempt-outcome.invalid.json +42 -0
- package/evals/fixtures/benchmark-attempt-outcome.valid.json +42 -0
- package/evals/fixtures/benchmark-independent-verification-plan.invalid.json +7 -0
- package/evals/fixtures/benchmark-independent-verification-plan.valid.json +21 -0
- package/evals/fixtures/composite-criterion.invalid.json +10 -0
- package/evals/fixtures/composite-criterion.valid.json +33 -0
- package/evals/fixtures/contract-family-library.invalid.json +42 -0
- package/evals/fixtures/contract-family-library.valid.json +41 -0
- package/evals/fixtures/contract-selection-recipe.invalid.json +29 -0
- package/evals/fixtures/contract-selection-recipe.valid.json +29 -0
- package/evals/fixtures/host-contract-plan.invalid.json +42 -0
- package/evals/fixtures/host-contract-plan.valid.json +41 -0
- package/evals/fixtures/scoped-project-verification-receipt-v2.invalid.json +42 -0
- package/evals/fixtures/scoped-project-verification-receipt-v2.valid.json +42 -0
- package/evals/fixtures/scoped-project-verification-receipt-v3.invalid.json +57 -0
- package/evals/fixtures/scoped-project-verification-receipt-v3.valid.json +57 -0
- package/evals/fixtures/scoped-verification-receipt-v1.invalid.json +40 -0
- package/evals/fixtures/scoped-verification-receipt-v1.valid.json +40 -0
- package/evals/fs5-artifact-archive/README.md +32 -0
- package/evals/fs5-artifact-archive/manifest.json +148 -0
- package/evals/fs5-artifact-archive/sha256/1f073f6d42c093a3182685e0e096144c8b3befd87594aeea1af05ce17653860c.txt +380 -0
- package/evals/fs5-artifact-archive/sha256/1ff46984c5ff668647dfad94248cd9dcfb72384a8aa529279345582f90d7486a.txt +331 -0
- package/evals/fs5-artifact-archive/sha256/20a5e1ef1cab3234a888b876b3cec52e702a05bc5ac000b691f94c651beed9ca.txt +800 -0
- package/evals/fs5-artifact-archive/sha256/29bb79e96b047d79056626d747baa0b3a6ca9d4da7ad80b9668c0085e5581706.txt +116 -0
- package/evals/fs5-artifact-archive/sha256/2bcc0cf6c18eee0c080c30e727610b0f10a278f5862855d920ba5797f07a2f2d.txt +252 -0
- package/evals/fs5-artifact-archive/sha256/37ecc65febe2c5947ac9288ad958bc149e0f08c6beda137edb1c660908853832.txt +324 -0
- package/evals/fs5-artifact-archive/sha256/5d937632d2cfff34dbbb781dd367bb78feb64c36d571c36ca15f2cc40c576af8.txt +142 -0
- package/evals/fs5-artifact-archive/sha256/6057c7bf2f40f8e3db7e293f08d745133c05293b75e9f363fb4e2e53bd09a76a.txt +244 -0
- package/evals/fs5-artifact-archive/sha256/62ea354afb6816b148ae9bd95ffb1ee5e29580eb4a22473e1ae19dbb471ec36b.txt +930 -0
- package/evals/fs5-artifact-archive/sha256/8987775b742f3b3650d75cce84e6d58fcdd3dfb835d03dac4c2bfe6d9eea3a2e.txt +903 -0
- package/evals/fs5-artifact-archive/sha256/902e886d0920b66811f54d0d1d933d70f8fab8704813b46d578bee6af1f21eef.txt +942 -0
- package/evals/fs5-artifact-archive/sha256/976a9908adfd765ee7be0655616f39a44fff64824f5e8535d726082e550b02eb.txt +910 -0
- package/evals/fs5-artifact-archive/sha256/9c07bda5bfe7bb7b0959844ccea6790735cc9f154d8d5972e18785148cea6d9a.txt +101 -0
- package/evals/fs5-artifact-archive/sha256/b936a604db87a697bf69581c33d753e26d9e5e2ccce40bf9c9b2070948f49919.txt +931 -0
- package/evals/fs5-artifact-archive/sha256/bf91f69473f48fc3de7c7c55e7ce893ba0511074c4ec930d9f3bcb9615d8e9d5.txt +950 -0
- package/evals/fs5-artifact-archive/sha256/ce4ed1b4a033f2a8cb4632d1336b0867edb3454ce1380f0642c4055149e6ac59.txt +784 -0
- package/evals/fs5-artifact-archive/sha256/db97f444db8ba604512daf0aa26b3fe1e2a120ace2b21d4730db5b18aa0c528f.txt +950 -0
- package/evals/fs5-causal-arm.v1.json +9 -5
- package/evals/fs5-pilot-protocol.v1.json +1 -1
- package/evals/fs5-pilot-protocol.v4.json +4 -4
- package/evals/fs5-pilot-protocol.v5.json +6 -5
- package/evals/harness-next/development-corpus.mjs +106 -0
- package/evals/harness-next/resource-budget-probe.mjs +38 -0
- package/evals/harness-next/run-calibration.mjs +83 -0
- package/evals/harness-next/run-resource-probe.mjs +55 -0
- package/evals/harness-next/selected-development-corpus.mjs +27 -0
- package/evals/harness-next.v1.json +51 -0
- package/evals/long-horizon-v1/README.md +19 -0
- package/evals/long-horizon-v1/runner.mjs +116 -48
- package/evals/long-horizon-v1/worker.mjs +77 -30
- package/evals/private-holdout-v1/CURRENT_BOUNDARY.md +53 -0
- package/evals/private-holdout-v1/README.md +5 -2
- package/evals/private-holdout-v1/public-exposure.v2.json +273 -0
- package/package.json +9 -4
- package/packages/piagent-core/README.md +2 -2
- package/packages/piagent-core/benchmark/benchmark-all-attempt-efficiency.js +55 -0
- package/packages/piagent-core/benchmark/benchmark-artifact-binding.js +49 -0
- package/packages/piagent-core/benchmark/benchmark-bootstrap.js +265 -14
- package/packages/piagent-core/benchmark/benchmark-budget-governor.js +271 -0
- package/packages/piagent-core/benchmark/benchmark-campaign.js +592 -0
- package/packages/piagent-core/benchmark/benchmark-candidate.js +8 -3
- package/packages/piagent-core/benchmark/benchmark-checkpoint.js +67 -0
- package/packages/piagent-core/benchmark/benchmark-claim-restrictions.js +269 -2
- package/packages/piagent-core/benchmark/benchmark-cli.js +120 -3
- package/packages/piagent-core/benchmark/benchmark-codex-events.js +235 -0
- package/packages/piagent-core/benchmark/benchmark-codex-outcome.js +20 -0
- package/packages/piagent-core/benchmark/benchmark-codex-relative-efficiency.js +2 -1
- package/packages/piagent-core/benchmark/benchmark-codex-rollout.js +521 -0
- package/packages/piagent-core/benchmark/benchmark-codex.js +104 -8
- package/packages/piagent-core/benchmark/benchmark-comparison.js +284 -1
- package/packages/piagent-core/benchmark/benchmark-core.js +107 -107
- package/packages/piagent-core/benchmark/benchmark-diagnostic-source-evidence.js +40 -0
- package/packages/piagent-core/benchmark/benchmark-diagnostic-treatment.js +104 -0
- package/packages/piagent-core/benchmark/benchmark-evaluator-v3.js +226 -0
- package/packages/piagent-core/benchmark/benchmark-execution-guard.js +23 -1
- package/packages/piagent-core/benchmark/benchmark-forensics.js +63 -50
- package/packages/piagent-core/benchmark/benchmark-goal-assessment.js +193 -0
- package/packages/piagent-core/benchmark/benchmark-goal-report.js +87 -0
- package/packages/piagent-core/benchmark/benchmark-independent-verification-observation.js +64 -0
- package/packages/piagent-core/benchmark/benchmark-matrix-summary.js +141 -0
- package/packages/piagent-core/benchmark/benchmark-matrix.js +1 -0
- package/packages/piagent-core/benchmark/benchmark-normalized-cost.js +62 -0
- package/packages/piagent-core/benchmark/benchmark-pi-home.js +1 -0
- package/packages/piagent-core/benchmark/benchmark-preflight.js +69 -8
- package/packages/piagent-core/benchmark/benchmark-process.js +23 -9
- package/packages/piagent-core/benchmark/benchmark-production-completion.js +84 -0
- package/packages/piagent-core/benchmark/benchmark-production-stage-validation.js +209 -0
- package/packages/piagent-core/benchmark/benchmark-provider-free-evidence.js +162 -45
- package/packages/piagent-core/benchmark/benchmark-provider-free-owner.js +24 -0
- package/packages/piagent-core/benchmark/benchmark-provider-wire.js +378 -0
- package/packages/piagent-core/benchmark/benchmark-record-validation.d.ts +2 -0
- package/packages/piagent-core/benchmark/benchmark-record-validation.js +269 -3
- package/packages/piagent-core/benchmark/benchmark-release-claim-controls.js +132 -0
- package/packages/piagent-core/benchmark/benchmark-report.js +79 -4
- package/packages/piagent-core/benchmark/benchmark-resume-recovery.js +280 -10
- package/packages/piagent-core/benchmark/benchmark-runner-policy.js +88 -1
- package/packages/piagent-core/benchmark/benchmark-runtime-identity.js +50 -1
- package/packages/piagent-core/benchmark/benchmark-runtime.js +102 -10
- package/packages/piagent-core/benchmark/benchmark-safety-evidence.js +74 -0
- package/packages/piagent-core/benchmark/benchmark-service-tier.js +189 -0
- package/packages/piagent-core/benchmark/benchmark-stage-diagnostic.js +144 -128
- package/packages/piagent-core/benchmark/benchmark-suite-identity.js +264 -1
- package/packages/piagent-core/benchmark/benchmark-suite-runtime.js +4 -0
- package/packages/piagent-core/benchmark/benchmark-suite.js +211 -4
- package/packages/piagent-core/benchmark/benchmark-summary-support.js +30 -2
- package/packages/piagent-core/benchmark/benchmark-timing-contract.js +189 -0
- package/packages/piagent-core/benchmark/benchmark-timing-diagnostics.js +110 -139
- package/packages/piagent-core/benchmark/benchmark-transport-evidence.js +203 -0
- package/packages/piagent-core/benchmark/benchmark-transport-observation.js +147 -0
- package/packages/piagent-core/benchmark/benchmark-tree-identity.js +2 -1
- package/packages/piagent-core/benchmark/benchmark-usage.js +395 -33
- package/packages/piagent-core/benchmark/benchmark-workflow.js +136 -38
- package/packages/piagent-core/benchmark/fs5-pilot-protocol.js +21 -2
- package/packages/piagent-core/capabilities/runtime-integrity.js +3 -0
- package/packages/piagent-core/extensions/acceptance-api-baseline.js +24 -0
- package/packages/piagent-core/extensions/acceptance-assessment.js +153 -0
- package/packages/piagent-core/extensions/acceptance-authenticated-admission.d.ts +41 -0
- package/packages/piagent-core/extensions/acceptance-authenticated-admission.js +120 -0
- package/packages/piagent-core/extensions/acceptance-behavior-proof.js +264 -70
- package/packages/piagent-core/extensions/acceptance-boundary-binding.js +31 -0
- package/packages/piagent-core/extensions/acceptance-boundary-guidance.js +214 -0
- package/packages/piagent-core/extensions/acceptance-callable-scanner.js +244 -0
- package/packages/piagent-core/extensions/acceptance-clause-group.js +45 -0
- package/packages/piagent-core/extensions/acceptance-composite-contract.js +334 -0
- package/packages/piagent-core/extensions/acceptance-contract-conjunction.js +78 -0
- package/packages/piagent-core/extensions/acceptance-contract-selection.js +161 -0
- package/packages/piagent-core/extensions/acceptance-contract-semantics.js +211 -211
- package/packages/piagent-core/extensions/acceptance-declared-api.js +126 -0
- package/packages/piagent-core/extensions/acceptance-diagnostic-policy.ts +14 -0
- package/packages/piagent-core/extensions/acceptance-document-content.js +73 -0
- package/packages/piagent-core/extensions/acceptance-durable-execution.d.ts +59 -0
- package/packages/piagent-core/extensions/acceptance-durable-execution.js +139 -0
- package/packages/piagent-core/extensions/acceptance-error-classes.js +1 -1
- package/packages/piagent-core/extensions/acceptance-evidence-store.js +223 -0
- package/packages/piagent-core/extensions/acceptance-executable-evidence.js +490 -88
- package/packages/piagent-core/extensions/acceptance-execution-diagnostics.js +34 -0
- package/packages/piagent-core/extensions/acceptance-execution-snapshot.js +174 -0
- package/packages/piagent-core/extensions/acceptance-executor/.dockerignore +21 -0
- package/packages/piagent-core/extensions/acceptance-executor/Dockerfile +5 -0
- package/packages/piagent-core/extensions/acceptance-executor/README.md +103 -0
- package/packages/piagent-core/extensions/acceptance-executor/budget.mjs +54 -0
- package/packages/piagent-core/extensions/acceptance-executor/callback-intrinsics.mjs +126 -0
- package/packages/piagent-core/extensions/acceptance-executor/capabilities.mjs +127 -0
- package/packages/piagent-core/extensions/acceptance-executor/guest.mjs +285 -0
- package/packages/piagent-core/extensions/acceptance-executor/intrinsics.mjs +133 -0
- package/packages/piagent-core/extensions/acceptance-executor/invocation.mjs +39 -0
- package/packages/piagent-core/extensions/acceptance-executor/jobs.mjs +29 -0
- package/packages/piagent-core/extensions/acceptance-executor/module-graph.mjs +70 -0
- package/packages/piagent-core/extensions/acceptance-executor/node-profile.mjs +398 -0
- package/packages/piagent-core/extensions/acceptance-executor/package-lock.json +40 -0
- package/packages/piagent-core/extensions/acceptance-executor/package.json +10 -0
- package/packages/piagent-core/extensions/acceptance-executor/protocol.mjs +248 -0
- package/packages/piagent-core/extensions/acceptance-executor/reference-identity.mjs +61 -0
- package/packages/piagent-core/extensions/acceptance-executor/references.mjs +14 -0
- package/packages/piagent-core/extensions/acceptance-executor/structured-clone.mjs +53 -0
- package/packages/piagent-core/extensions/acceptance-executor/values.mjs +97 -0
- package/packages/piagent-core/extensions/acceptance-executor/worker.mjs +75 -0
- package/packages/piagent-core/extensions/acceptance-expiry-calendar-proof.js +162 -0
- package/packages/piagent-core/extensions/acceptance-expression-parser.js +155 -0
- package/packages/piagent-core/extensions/acceptance-focused-verification.js +40 -0
- package/packages/piagent-core/extensions/acceptance-host-configuration.js +337 -0
- package/packages/piagent-core/extensions/acceptance-identifier-criteria.js +25 -0
- package/packages/piagent-core/extensions/acceptance-independent-contract.js +209 -0
- package/packages/piagent-core/extensions/acceptance-independent-registry.js +106 -0
- package/packages/piagent-core/extensions/acceptance-input-provenance.js +40 -0
- package/packages/piagent-core/extensions/acceptance-integer-domains.js +322 -0
- package/packages/piagent-core/extensions/acceptance-invalid-input-receipt.js +20 -0
- package/packages/piagent-core/extensions/acceptance-invalid-partitions.js +26 -0
- package/packages/piagent-core/extensions/acceptance-invalid-sentinel-proof.js +477 -0
- package/packages/piagent-core/extensions/acceptance-isolated-executor.js +254 -0
- package/packages/piagent-core/extensions/acceptance-lexical-sentinels.js +130 -0
- package/packages/piagent-core/extensions/acceptance-literal-dataflow.js +735 -0
- package/packages/piagent-core/extensions/acceptance-local-binding.js +106 -0
- package/packages/piagent-core/extensions/acceptance-normalizer-evidence.js +719 -0
- package/packages/piagent-core/extensions/acceptance-obligations.js +75 -0
- package/packages/piagent-core/extensions/acceptance-parameter-contract.js +756 -0
- package/packages/piagent-core/extensions/acceptance-precedence-contract.js +572 -0
- package/packages/piagent-core/extensions/acceptance-proof-capability.js +26 -0
- package/packages/piagent-core/extensions/acceptance-receipt.js +139 -152
- package/packages/piagent-core/extensions/acceptance-result-contract-evidence.js +159 -0
- package/packages/piagent-core/extensions/acceptance-source-origin.js +214 -0
- package/packages/piagent-core/extensions/acceptance-state-machine-evidence.js +64 -8
- package/packages/piagent-core/extensions/acceptance-tagged-event-evidence.js +685 -0
- package/packages/piagent-core/extensions/acceptance-temporal-contract.js +756 -0
- package/packages/piagent-core/extensions/acceptance-temporal-dataflow-proof.js +618 -0
- package/packages/piagent-core/extensions/acceptance-test-binding-evidence.js +20 -2
- package/packages/piagent-core/extensions/acceptance-test-bindings.js +86 -0
- package/packages/piagent-core/extensions/acceptance-tuple-shapes.js +12 -0
- package/packages/piagent-core/extensions/context-engine.js +11 -6
- package/packages/piagent-core/extensions/criterion-context-pack.js +96 -4
- package/packages/piagent-core/extensions/failure-types.ts +2 -2
- package/packages/piagent-core/extensions/guard-types.ts +5 -1
- package/packages/piagent-core/extensions/piagent-guard.ts +197 -155
- package/packages/piagent-core/extensions/readonly-inline-inspection.ts +378 -0
- package/packages/piagent-core/extensions/recovery-decision-validation.ts +92 -0
- package/packages/piagent-core/extensions/shell-write-targets.js +15 -14
- package/packages/piagent-core/extensions/task-contract-view.js +4 -4
- package/packages/piagent-core/extensions/task-digest-migration.js +2 -2
- package/packages/piagent-core/extensions/task-journal.js +48 -3
- package/packages/piagent-core/extensions/task-runtime-audit.js +8 -2
- package/packages/piagent-core/extensions/task-state.js +74 -38
- package/packages/piagent-core/extensions/task-terminal-disposition.js +10 -0
- package/packages/piagent-core/extensions/trajectory-contract.ts +5 -0
- package/packages/piagent-core/extensions/verification-intelligence.js +60 -8
- package/packages/piagent-core/extensions/workflow-catalog.ts +98 -0
- package/packages/piagent-core/extensions/workspace-revision.js +48 -0
- package/packages/piagent-core/extensions/workspace-verification-snapshot.js +13 -0
- package/packages/piagent-core/package.json +3 -3
- package/packages/piagent-core/policies/base-policy.json +1 -0
- package/packages/piagent-core/runtime/context/adaptive-planner.ts +7 -3
- package/packages/piagent-core/runtime/hooks/agent-start-hook.ts +60 -59
- package/packages/piagent-core/runtime/hooks/agent-start-types.ts +48 -0
- package/packages/piagent-core/runtime/hooks/completion-hook.ts +76 -83
- package/packages/piagent-core/runtime/hooks/input-hook.ts +92 -7
- package/packages/piagent-core/runtime/hooks/protected-refusal-completion.ts +86 -0
- package/packages/piagent-core/runtime/hooks/session-hooks.ts +5 -2
- package/packages/piagent-core/runtime/hooks/session-start-hook.ts +50 -18
- package/packages/piagent-core/runtime/hooks/tool-result-hook.ts +53 -20
- package/packages/piagent-core/runtime/hooks/tool-result-metadata.ts +9 -0
- package/packages/piagent-core/runtime/hooks/tool-result-navigation.ts +36 -0
- package/packages/piagent-core/runtime/hooks/tool-result-retrieval.ts +42 -0
- package/packages/piagent-core/runtime/input/chat-images.ts +1 -1
- package/packages/piagent-core/runtime/inspection/activity-event-adapter.ts +1 -1
- package/packages/piagent-core/runtime/inspection/same-process-bridge-proof.ts +1 -1
- package/packages/piagent-core/runtime/inspection/task-handoff-history.ts +2 -2
- package/packages/piagent-core/runtime/inspection/tool-failure-classification.ts +49 -8
- package/packages/piagent-core/runtime/inspection/webui-snapshot.ts +61 -15
- package/packages/piagent-core/runtime/inspection/workspace-file-reader.ts +2 -132
- package/packages/piagent-core/runtime/model/model-route-policy.ts +33 -13
- package/packages/piagent-core/runtime/model/model-route-types.ts +10 -6
- package/packages/piagent-core/runtime/model/provider-wire-fingerprint.ts +20 -0
- package/packages/piagent-core/runtime/model/service-tier-runtime.ts +242 -0
- package/packages/piagent-core/runtime/policy/source-worktree-transaction.ts +75 -14
- package/packages/piagent-core/runtime/product/activity-inspector.ts +6 -3
- package/packages/piagent-core/runtime/product/edit-verifier-timing.ts +26 -0
- package/packages/piagent-core/runtime/product/efficiency-metrics.ts +12 -7
- package/packages/piagent-core/runtime/product/operator-projections.ts +8 -3
- package/packages/piagent-core/runtime/product/task-usage-hooks.ts +78 -0
- package/packages/piagent-core/runtime/product/task-usage.ts +104 -0
- package/packages/piagent-core/runtime/quality/protected-refusal-handoff.ts +35 -0
- package/packages/piagent-core/runtime/recovery/acceptance-recovery-guidance.ts +21 -0
- package/packages/piagent-core/runtime/recovery/continuation-budget.ts +11 -2
- package/packages/piagent-core/runtime/recovery/diagnostic-delivery.ts +61 -0
- package/packages/piagent-core/runtime/recovery/handoff-projection.ts +192 -57
- package/packages/piagent-core/runtime/recovery/handoff-verifier-binding.ts +24 -0
- package/packages/piagent-core/runtime/recovery/independent-verification-recovery.ts +79 -0
- package/packages/piagent-core/runtime/recovery/recovery-policy.ts +27 -39
- package/packages/piagent-core/runtime/recovery/resume-state.ts +8 -5
- package/packages/piagent-core/runtime/registration/activity-inspector-command.ts +2 -1
- package/packages/piagent-core/runtime/registration/context-commands.ts +12 -8
- package/packages/piagent-core/runtime/registration/operator-catalogs.ts +4 -9
- package/packages/piagent-core/runtime/registration/policy-tools.ts +5 -3
- package/packages/piagent-core/runtime/registration/session-commands.ts +9 -7
- package/packages/piagent-core/runtime/registration/session-wait-tool.ts +54 -0
- package/packages/piagent-core/runtime/registration/task-completion-tools.ts +27 -11
- package/packages/piagent-core/runtime/registration/task-start-conditional-mutation.ts +45 -0
- package/packages/piagent-core/runtime/registration/task-start-guidance.ts +5 -2
- package/packages/piagent-core/runtime/registration/task-start-tool.ts +23 -23
- package/packages/piagent-core/runtime/registration/workflow-commands.ts +64 -93
- package/packages/piagent-core/runtime/session/completion-signals.ts +23 -0
- package/packages/piagent-core/runtime/session/message-signals.ts +6 -22
- package/packages/piagent-core/runtime/session/retrieval-evidence-runtime.ts +188 -0
- package/packages/piagent-core/runtime/session/runtime-state.ts +29 -35
- package/packages/piagent-core/runtime/session/system-prompt.ts +3 -3
- package/packages/piagent-core/runtime/session/uncertain-send-continuation.ts +231 -0
- package/packages/piagent-core/runtime/session/usage.ts +4 -3
- package/packages/piagent-core/runtime/tools/apply-patch-tool.ts +6 -6
- package/packages/piagent-core/runtime/tools/phase-tool-runtime.ts +1 -1
- package/packages/piagent-core/runtime/tools/phase-tools.ts +3 -2
- package/packages/piagent-core/runtime/tools/session-wait.ts +42 -0
- package/packages/piagent-core/runtime/tools/tool-groups.ts +10 -3
- package/packages/piagent-core/runtime/trajectory/trajectory-runtime.ts +192 -5
- package/packages/piagent-core/runtime/trajectory/trajectory-types.ts +3 -2
- package/packages/piagent-core/runtime/verification/acceptance-api-baseline.js +488 -0
- package/packages/piagent-core/runtime/verification/completion-preparation.ts +22 -0
- package/packages/piagent-core/runtime/verification/composite-completion-finalizer.ts +105 -0
- package/packages/piagent-core/runtime/verification/composite-journal-anchor.ts +181 -0
- package/packages/piagent-core/runtime/verification/composite-runtime-binding.ts +76 -0
- package/packages/piagent-core/runtime/verification/composite-scoped-mediation.ts +318 -0
- package/packages/piagent-core/runtime/verification/composite-session-persistence.ts +175 -0
- package/packages/piagent-core/runtime/verification/composite-task-publication.ts +273 -0
- package/packages/piagent-core/runtime/verification/exact-verifier-reuse.ts +11 -11
- package/packages/piagent-core/runtime/verification/host-project-verification.ts +71 -0
- package/packages/piagent-core/runtime/verification/independent-acceptance-runtime.ts +500 -0
- package/packages/piagent-core/runtime/verification/runtime-assurance-facts.ts +500 -0
- package/packages/piagent-core/runtime/verification/runtime-contract-runner.ts +107 -0
- package/packages/piagent-core/runtime/verification/shell-verification-snapshots.ts +56 -0
- package/packages/piagent-core/runtime/workflows/change-clarification.ts +61 -0
- package/packages/piagent-core/runtime/workflows/input-routing.ts +21 -14
- package/packages/piagent-core/runtime/workflows/runtime-intake-compaction.ts +44 -7
- package/packages/piagent-core/runtime/workflows/task-followup-policy.ts +163 -0
- package/packages/piagent-core/runtime/workflows/task-intake.ts +221 -242
- package/packages/piagent-core/runtime/workflows/task-repair-intent.ts +67 -0
- package/packages/piagent-core/runtime/workflows/task-scope-resolution.ts +83 -0
- package/packages/piagent-core/runtime/workflows/webui-runtime-command.ts +5 -2
- package/packages/piagent-core/runtime/workflows/webui-workflow.ts +39 -32
- package/packages/piagent-core/runtime/workflows/workflow-follow-up.ts +33 -0
- package/packages/piagent-core/security/workspace-file-reader.ts +132 -0
- package/packages/piagent-webui/dist/client/assets/{MarkdownMessage-B4XehTCU.js → MarkdownMessage-DMU7Xe_O.js} +1 -1
- package/packages/piagent-webui/dist/client/assets/index-Cui9AAV_.js +176 -0
- package/packages/piagent-webui/dist/client/assets/{index-BV-_03yl.css → index-DVahUVWy.css} +1 -1
- package/packages/piagent-webui/dist/client/index.html +2 -2
- package/packages/piagent-webui/extension/dispatch-user-entry.ts +13 -0
- package/packages/piagent-webui/extension/piagent-webui.ts +10 -2
- package/packages/piagent-webui/extension/review-controller.ts +29 -6
- package/packages/piagent-webui/extension/same-session-bridge.ts +6 -7
- package/packages/piagent-webui/extension/session-stream-adapter.ts +60 -11
- package/packages/piagent-webui/extension/source-mutation-controller.ts +29 -3
- package/packages/piagent-webui/extension/source-open-controller.ts +29 -7
- package/packages/piagent-webui/extension/source-revert-controller.ts +26 -3
- package/packages/piagent-webui/gateway/gateway-events.ts +22 -5
- package/packages/piagent-webui/gateway/gateway-service.ts +7 -2
- package/packages/piagent-webui/gateway/gateway-session-stream.ts +141 -19
- package/packages/piagent-webui/gateway/rpc-ui-context.ts +34 -9
- package/packages/piagent-webui/gateway/runtime-command-controller.ts +46 -6
- package/packages/piagent-webui/gateway/runtime-session-controls.ts +17 -2
- package/packages/piagent-webui/gateway/session-catalog.ts +9 -3
- package/packages/piagent-webui/gateway/session-command-controller.ts +29 -9
- package/packages/piagent-webui/gateway/session-effective-options.ts +2 -9
- package/packages/piagent-webui/gateway/session-inspection-registry.ts +14 -6
- package/packages/piagent-webui/gateway/session-operation-settlement.ts +28 -0
- package/packages/piagent-webui/gateway/session-prompt-dispatch.ts +37 -0
- package/packages/piagent-webui/gateway/session-runtime-close.ts +36 -0
- package/packages/piagent-webui/gateway/session-runtime-factory.ts +183 -6
- package/packages/piagent-webui/gateway/session-runtime-ownership.ts +48 -0
- package/packages/piagent-webui/gateway/session-runtime-state.ts +24 -0
- package/packages/piagent-webui/gateway/session-runtime-supervisor.ts +114 -114
- package/packages/piagent-webui/server/core-inspection-provider.ts +73 -14
- package/packages/piagent-webui/server/loopback-server.ts +9 -7
- package/packages/piagent-webui/server/terminal-delivery-receipt.ts +144 -0
- package/packages/piagent-webui/server/transcript-projection.ts +65 -12
- package/packages/piagent-webui/shared/message-correlation.ts +25 -0
- package/schemas/approved-host-contracts.schema.json +973 -0
- package/schemas/benchmark-attempt-outcome.schema.json +303 -0
- package/schemas/benchmark-independent-verification-plan.schema.json +34 -0
- package/schemas/composite-criterion.schema.json +788 -0
- package/schemas/contract-family-library.schema.json +28 -0
- package/schemas/contract-selection-recipe.schema.json +31 -0
- package/schemas/failure-evidence.schema.json +2 -2
- package/schemas/helper-request.schema.json +16 -4
- package/schemas/host-contract-plan.schema.json +25 -0
- package/schemas/piagent-webui/gateway-protocol-v1.schema.json +16 -2
- package/schemas/piagent-webui/runtime-command-v1.schema.json +26 -3
- package/schemas/piagent-webui/runtime-event-v2.schema.json +32 -1
- package/schemas/piagent-webui/session-live-state-v1.schema.json +2 -0
- package/schemas/piagent-webui/snapshot-v1.schema.json +3 -0
- package/schemas/piagent-webui/source-change-v1.schema.json +12 -0
- package/schemas/piagent-webui/transcript-v1.schema.json +2 -1
- package/schemas/public-contracts/codex-mcp-metadata-v1.schema.json +206 -0
- package/schemas/public-contracts/codex-mcp-metadata-v2.schema.json +228 -0
- package/schemas/public-contracts/codex-mcp-metadata-v3.schema.json +233 -0
- package/schemas/public-contracts/revocation-v1.schema.json +87 -0
- package/schemas/public-contracts/subscription-contract-v1.schema.json +76 -0
- package/schemas/scoped-project-verification-receipt-v2.schema.json +83 -0
- package/schemas/scoped-project-verification-receipt-v3.schema.json +295 -0
- package/schemas/scoped-verification-receipt-v1.schema.json +76 -0
- package/schemas/task-contract.schema.json +30 -0
- package/scripts/approve-independent-verification.mjs +57 -0
- package/scripts/benchmark-arm-observer.mjs +320 -0
- package/scripts/benchmark-budget-ipc.mjs +34 -0
- package/scripts/benchmark-budget-launcher.mjs +91 -0
- package/scripts/benchmark-budget-processes.mjs +133 -0
- package/scripts/benchmark-budget-publication.mjs +228 -0
- package/scripts/benchmark-budget-runtime.mjs +136 -0
- package/scripts/benchmark-candidate-ablation.mjs +265 -0
- package/scripts/benchmark-codex-journey.mjs +406 -0
- package/scripts/benchmark-independent-verification.mjs +628 -0
- package/scripts/benchmark-journey-outcome.mjs +92 -0
- package/scripts/benchmark-production-v3-human-review.mjs +192 -0
- package/scripts/benchmark-public-input-catalog.mjs +158 -0
- package/scripts/benchmark-registered-plan-author.mjs +355 -0
- package/scripts/benchmark-registered-plan-recipe-support.mjs +85 -0
- package/scripts/benchmark-registered-plan-recipes-backend.mjs +165 -0
- package/scripts/benchmark-registered-plan-recipes-data.mjs +164 -0
- package/scripts/benchmark-registered-plan-recipes-platform.mjs +165 -0
- package/scripts/benchmark-runner-completion.mjs +133 -0
- package/scripts/benchmark-runner-configuration.mjs +159 -0
- package/scripts/benchmark-runner-core.mjs +217 -388
- package/scripts/benchmark-runner-finalization.mjs +140 -27
- package/scripts/benchmark-runner-provider-boundary.mjs +44 -0
- package/scripts/benchmark-runner-schedule.mjs +256 -0
- package/scripts/benchmark-runner-support.mjs +136 -4
- package/scripts/benchmark-runner.mjs +95 -18
- package/scripts/benchmark-scoped-broker-custody.mjs +483 -0
- package/scripts/benchmark-scoped-docs-verifier.mjs +203 -0
- package/scripts/benchmark-scoped-frozen-qualification.mjs +676 -0
- package/scripts/benchmark-scoped-pi-router.mjs +196 -0
- package/scripts/benchmark-scoped-project-verification-receipt.mjs +49 -0
- package/scripts/benchmark-scoped-project-verifier.mjs +461 -0
- package/scripts/benchmark-scoped-session-custody.mjs +599 -0
- package/scripts/benchmark-scoped-session-factory.mjs +342 -0
- package/scripts/benchmark-scoped-tool-broker.mjs +523 -0
- package/scripts/benchmark-scoped-verification-supervisor.mjs +773 -0
- package/scripts/benchmark-session-evaluator.mjs +169 -0
- package/scripts/benchmark-session-provider-boundary.mjs +62 -0
- package/scripts/benchmark-session-usage.mjs +28 -0
- package/scripts/benchmark-session.mjs +343 -50
- package/scripts/benchmark-webui-journey.mjs +678 -0
- package/scripts/check-public-wording.mjs +46 -0
- package/scripts/configure-model-scope.sh +6 -2
- package/scripts/fs4-readiness-evaluation.mjs +7 -1
- package/scripts/install-global.sh +2 -2
- package/scripts/model-route-evaluation-core.ts +1 -0
- package/scripts/phase-tools-evaluation.mjs +1 -0
- package/scripts/pi-auto.sh +7 -1
- package/scripts/pi-model-route.mjs +1 -1
- package/scripts/pi-usage-history.mjs +201 -11
- package/scripts/piagent-cli.mjs +8 -0
- package/scripts/private-holdout-readiness.mjs +7 -1
- package/scripts/public-evaluation-exposure.mjs +140 -0
- package/scripts/select-independent-verification.mjs +62 -0
- package/scripts/setup.sh +2 -2
- package/scripts/typescript-loader.mjs +135 -1
- package/scripts/update-global.mjs +6 -7
- package/scripts/verify-local.sh +37 -56
- package/scripts/verify-release-identity.mjs +5 -3
- package/templates/global/settings.json +5 -1
- package/packages/piagent-webui/dist/client/assets/index-CgOEyRPG.js +0 -176
|
@@ -41,6 +41,9 @@ pi install /path/to/piagent
|
|
|
41
41
|
|
|
42
42
|
## Versioning
|
|
43
43
|
|
|
44
|
+
- `1.8.0`: Pi 0.87.1, thêm GPT-6 Astra/Sol/Luna vào catalog, WebUI và tier routing opt-in. Không chạy lại 108 phiên hay claim hiệu suất GPT-6.
|
|
45
|
+
- `1.7.1`: Pi 0.86.1, chờ trong phiên đang mở, sửa context/usage và phục hồi; kết quả chạy lại 14 phiên lỗi được giữ riêng, không claim một full108 mới hay tiết kiệm token tổng thể.
|
|
46
|
+
- `1.7.0`: chỉ có annotated tag; macOS tag CI chạm giới hạn 40 phút hai lần nên npm và GitHub Release không được publish. Được thay bằng `1.7.1`.
|
|
44
47
|
- `0.1.x`: local/internal pilot.
|
|
45
48
|
- `0.2.x`: có guard ổn định và docs team.
|
|
46
49
|
- `1.0.2`: đủ security review, MCP registry, adapter schema versioned.
|
|
@@ -63,6 +63,18 @@ và stress projection ở ba cỡ repository. Receipt của read-only control ph
|
|
|
63
63
|
`modelCallObserved=false`; nếu runtime vô tình mở model turn, gate trả
|
|
64
64
|
`effect-unknown` thay vì claim 0 token.
|
|
65
65
|
|
|
66
|
+
Terminal settlement của Gateway mô tả trạng thái vận chuyển/UI, không tự suy
|
|
67
|
+
diễn ý nghĩa câu trả lời. Safety-refusal phải kết thúc `completed` với một
|
|
68
|
+
response bền vững để UI hiển thị; `blocked` vẫn dành cho completion gate/task
|
|
69
|
+
chưa hoàn tất và không được tính như refusal. Outcome `refused` của benchmark
|
|
70
|
+
được hard-gate bằng fixture không đổi, scope sạch, không lộ secret và hidden
|
|
71
|
+
grade; runner không parse keyword trong lời model để đoán refusal.
|
|
72
|
+
|
|
73
|
+
Token và subagent accounting của WebUI chỉ đọc Pi session JSONL dưới runtime
|
|
74
|
+
`sessions/`. Gateway admission/index/lease journals không phải provider session
|
|
75
|
+
và không được phép làm tăng session count; thiếu hoặc sai session header vẫn
|
|
76
|
+
fail-closed.
|
|
77
|
+
|
|
66
78
|
Khi cần đo solver logic sâu theo baseline lịch sử Luna/medium với `codex-cli`:
|
|
67
79
|
|
|
68
80
|
```bash
|
|
@@ -124,8 +136,114 @@ mỗi family và 2 surface, tổng cộng 108 model session. Bộ này dùng đ
|
|
|
124
136
|
regression của harness/model policy, không tự chứng minh generalization hoặc độ
|
|
125
137
|
ổn định production.
|
|
126
138
|
|
|
127
|
-
|
|
128
|
-
|
|
139
|
+
### Production-v2: Luna medium Fast và net-35 all-in
|
|
140
|
+
|
|
141
|
+
Track mới chạy bằng `npm run benchmark:production-v2 -- --dry-run` rồi theo các
|
|
142
|
+
mốc S12/S18/S54/S108. Ma trận vẫn là 108 session: 9 task family × 3 structural
|
|
143
|
+
variant × 2 repeat × 2 surface. Suite khóa cùng
|
|
144
|
+
`openai-codex/gpt-5.6-luna`, `medium` và Fast mode cho cả hai surface. Ở wire
|
|
145
|
+
OpenAI, Fast được ánh xạ thành `service_tier=priority`; literal `fast` không phải
|
|
146
|
+
giá trị hợp lệ của Responses API và benchmark phải fail closed nếu quan sát thấy nó.
|
|
147
|
+
Piagent lẫn controlled `codex-cli`; resume/replay, spend-control và configuration
|
|
148
|
+
digest đều giữ nguyên ba giá trị này. Cổng tổng hợp là **Fast execution
|
|
149
|
+
configuration parity**: Piagent phải có outbound telemetry ánh xạ ý định Fast
|
|
150
|
+
sang wire tier `priority` đầy đủ cho mọi provider start/wire event. Surface
|
|
151
|
+
controlled `codex-cli`
|
|
152
|
+
phải có receipt của argv thực tế cho lượt đầu, gồm `--strict-config`,
|
|
153
|
+
`service_tier="fast"`, feature `fast_mode`, executable identity, isolated
|
|
154
|
+
`CODEX_HOME`, stdout `thread.started`, exact usage và rollout
|
|
155
|
+
`session_meta`/`turn_context` khớp thread, workspace, model, thinking. Mỗi lượt
|
|
156
|
+
resume tiếp theo phải có cùng invocation receipt và đúng một effective
|
|
157
|
+
`thread_settings_applied` tier `priority`; tổng coverage bắt buộc là một initial
|
|
158
|
+
receipt cộng `providerStartedAttempts - 1` resume-settings event. Thiếu hoặc
|
|
159
|
+
mâu thuẫn một bằng chứng, hay thấy `default`, đều làm claim fail closed. Rollout
|
|
160
|
+
Codex không phát `thread_settings_applied` cho initial `exec`, vì vậy benchmark
|
|
161
|
+
không được nhầm một session chỉ có một lượt thành Fast failure, cũng không được
|
|
162
|
+
dùng command binding đơn lẻ nếu thiếu các identity/outcome binding nói trên.
|
|
163
|
+
|
|
164
|
+
Hai cổng token độc lập cùng phải pass ở S108:
|
|
165
|
+
|
|
166
|
+
- cận trên 95% của primary fixed-workload family ratio vẫn `<= 0.60`;
|
|
167
|
+
- pooled fresh token của **mọi accepted attempt cộng mọi exact failed/retry
|
|
168
|
+
attempt** phải `<= 0.65` so với `codex-cli`, tương ứng net reduction ít nhất
|
|
169
|
+
35%. Unknown attempt usage không được trừ hao hay bỏ khỏi mẫu; nó làm gate
|
|
170
|
+
fail-closed.
|
|
171
|
+
|
|
172
|
+
Chuỗi chạy chính thức của track này là S0 rồi mở đúng từng cửa sổ mới
|
|
173
|
+
`12/6/36/54`; không chạy lại session đã có và chỉ S108 mới có quyền claim:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
npm run benchmark:production-v2 -- --preflight-only
|
|
177
|
+
npm run benchmark:production-v2 -- --max-sessions 12 --stop-after-failed-pair --output /path/to/report-dir --yes
|
|
178
|
+
npm run benchmark:production-v2 -- --resume /path/to/report-dir --max-sessions 6 --yes
|
|
179
|
+
npm run benchmark:production-v2 -- --resume /path/to/report-dir --max-sessions 36 --yes
|
|
180
|
+
npm run benchmark:production-v2 -- --resume /path/to/report-dir --max-sessions 54 --yes
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
S0 dùng `providerFreeConfigurationDigest` riêng: nó vẫn bind source/tree,
|
|
184
|
+
suite, model, thinking, Fast tier, seed/order, runtime, timeout và retry policy,
|
|
185
|
+
nhưng loại các trường chỉ thuộc invocation như private credential-vault ID,
|
|
186
|
+
output, resume và kích thước stage window. Vì vậy S12/S18/S54/S108 reuse nguyên
|
|
187
|
+
receipt S0; thay đổi semantic, source hoặc lane bytes vẫn làm cache miss
|
|
188
|
+
fail-closed. Measurement `configurationDigest` đầy đủ vẫn giữ private vault ID
|
|
189
|
+
để khóa ledger, campaign và resume lineage, nên tối ưu cache này không nới
|
|
190
|
+
quyền hay trộn hai paid run.
|
|
191
|
+
|
|
192
|
+
Khi operator muốn **đo đủ 108 phiên trước rồi mới sửa**, có thể chủ động chọn
|
|
193
|
+
`--measurement-only` thay cho chuỗi release theo giai đoạn:
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
node scripts/benchmark-runner.mjs --suite production-v2 --measurement-only --max-sessions 108 --keep-workspaces --output /path/to/measurement-report --yes
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Chế độ này chỉ áp dụng cho ma trận production-v2 đầy đủ, controlled Codex và
|
|
200
|
+
Pi release-defaults. Bài, thứ tự, seed, model/medium/Fast, hai repeat, zero retry,
|
|
201
|
+
chấm điểm, ràng buộc source sạch, bốn lane S0 và sổ mọi provider attempt vẫn
|
|
202
|
+
giữ nguyên. Operator cấp một cửa sổ `0→108`; điểm thấp, thất bại của agent và tỷ
|
|
203
|
+
lệ token xấu không kết thúc sớm cửa sổ đó. Lỗi hạ tầng, source thay đổi hoặc
|
|
204
|
+
usage không xác định vẫn không được bỏ qua. Không kết hợp với lọc bài, replay,
|
|
205
|
+
giới hạn thời gian toàn lượt hay `--stop-after-failed-pair`.
|
|
206
|
+
|
|
207
|
+
Lựa chọn được khóa vào configuration digest, manifest, preflight và report;
|
|
208
|
+
không thể chuyển một campaign release cũ sang chế độ này khi resume. Các số đo,
|
|
209
|
+
PASS/FAIL và release gate trong report vẫn là số thật, nhưng report luôn ghi
|
|
210
|
+
measurement-only, campaign kết thúc `no-claim`, không cấp token-saving hay
|
|
211
|
+
generalization claim. Exit code có thể khác 0 dù đã đo đủ 108, nếu release gate
|
|
212
|
+
không đạt; phải kiểm tra report và ledger thay vì gọi đó là benchmark chưa chạy.
|
|
213
|
+
Đây không phải chứng nhận full offline qualification hay production readiness.
|
|
214
|
+
|
|
215
|
+
Production-v2 bind một paid campaign vào exact suite, candidate, configuration
|
|
216
|
+
và output directory. Nếu campaign đã khởi động provider nhưng dừng giữa chừng,
|
|
217
|
+
fail gate hoặc kết thúc `no-claim`, cùng lineage chỉ được resume đúng output đó;
|
|
218
|
+
không được mở output mới để chọn lại mẫu đẹp hơn. Candidate/configuration thực
|
|
219
|
+
sự đổi mới được mở campaign mới, nhưng campaign cũ được giữ nguyên ledger và
|
|
220
|
+
đóng bằng disposition `superseded-changed-lineage-no-claim`. Report tách rõ
|
|
221
|
+
all-attempt ledger của campaign hiện tại dùng cho net-35 với lịch sử chi tiêu
|
|
222
|
+
campaign trước; lịch sử cũ không bị cộng vào tỷ lệ candidate hiện tại và cũng
|
|
223
|
+
không bị xóa. Known exact token được cộng thành subtotal riêng, còn chỉ một
|
|
224
|
+
prior/current attempt thiếu exact usage cũng phải hiện tổng usage là
|
|
225
|
+
`unavailable`; runner không tự retry unknown-cost attempt. Reservation chưa hề
|
|
226
|
+
khởi động provider vẫn có thể được supersede mà không tạo paid-history giả.
|
|
227
|
+
|
|
228
|
+
Pi host hiện chứng minh được outbound request Fast; surface controlled
|
|
229
|
+
`codex-cli` chứng minh strict
|
|
230
|
+
initial invocation cộng effective settings của toàn bộ lượt resume. Hai nguồn đó
|
|
231
|
+
chỉ cho phép claim execution-configuration parity, không cho phép suy ra actual
|
|
232
|
+
provider processing tier.
|
|
233
|
+
Pi host hiện chưa expose trường `response.service_tier`, nên report giữ provider
|
|
234
|
+
processing tier ở `unavailable`. Nếu response tier được host expose về sau, chỉ
|
|
235
|
+
`fast|priority` được chấp nhận; `default` là downgrade.
|
|
236
|
+
Fast của GPT-5.6 được report bằng hai mức **tham chiếu** riêng: ChatGPT
|
|
237
|
+
subscription credits `2.5x` và API Fast token pricing `2x`. Billing mode và
|
|
238
|
+
multiplier thực áp dụng cho run vẫn là `unverified` nếu chưa có bằng chứng độc
|
|
239
|
+
lập; cả hai reference đều non-blocking và tuyệt đối không nhân/chia vào
|
|
240
|
+
provider-reported token ratio.
|
|
241
|
+
|
|
242
|
+
### Production-v1 legacy: fixed-workload 40%
|
|
243
|
+
|
|
244
|
+
Phần contract dưới đây chỉ áp dụng cho `production-v1`: efficiency claim được
|
|
245
|
+
xét ở **S108**, sau khi có đủ 18 family × 3 repeat × 2 surface. Claim phải qua
|
|
246
|
+
hai trục độc lập. Primary fresh-token
|
|
129
247
|
estimand được khai báo trước là
|
|
130
248
|
`fixed-workload-family-ratio`: trong từng family, cộng fresh token chính xác của
|
|
131
249
|
đủ ba attempt đã định trước ở mỗi surface, gồm cả usage của failed attempt đã
|
|
@@ -239,9 +357,10 @@ piagent-benchmark --resume /path/to/report-dir --max-sessions 36 --yes
|
|
|
239
357
|
piagent-benchmark --resume /path/to/report-dir --max-sessions 36 --yes
|
|
240
358
|
```
|
|
241
359
|
|
|
242
|
-
Trước provider preflight đầu tiên, S0 tự chạy
|
|
243
|
-
candidate hiện tại: `
|
|
244
|
-
|
|
360
|
+
Trước provider preflight đầu tiên, S0 tự chạy bốn lane provider-free trên đúng
|
|
361
|
+
candidate hiện tại: `architecture-conformance-v1` chạy fail-fast cho dependency
|
|
362
|
+
boundary và line budget, `runtime-conformance-v1`, `long-horizon-v1` (tối thiểu
|
|
363
|
+
30 phút wall-clock) và `webui-parity-v1` gồm chín deterministic UI-stability suite.
|
|
245
364
|
Receipt có completion time và bind exact clean Git commit, candidate tree,
|
|
246
365
|
production configuration, cùng digest của từng lane config/runner. Receipt được
|
|
247
366
|
cache riêng tư theo toàn bộ binding; resume/S12 chỉ reuse khi mọi digest vẫn
|
|
@@ -329,6 +448,7 @@ Từ lớp benchmark matrix trong package, Piagent phân ba band:
|
|
|
329
448
|
| `deep-logic` | phát triển solver/workflow/WebUI logic | `deep-logic-v1`, 7 bài large với interacting invariants, 42 paired session; capability-tier full-suite gate, không phải production claim |
|
|
330
449
|
| `production` | release candidate, đổi model policy, đổi harness | `production-v1`, 18 public-regression scenario, paired baseline, confidence gate; không phải generalization claim |
|
|
331
450
|
| `capability` | tìm trần năng lực sau thay đổi harness | `capability-v1`, 6 bài multi-file/multi-component chưa bão hòa; dùng hill-climbing, không phải release gate |
|
|
451
|
+
| `architecture-conformance` | thay đổi module boundary hoặc file có line budget | Lane deterministic provider-free chạy fail-fast; bắt buộc mọi source được gán layer, dependency boundary và line budget đều pass, 0 provider call và 0 model token |
|
|
332
452
|
| `runtime-conformance` | thay đổi context governor, retry/settlement WebUI, emission hoặc edit freshness | `runtime-conformance-v1`, 9 ca deterministic provider-free; bắt buộc 0 provider call, 0 model token và mọi safety gate pass; không phải token/quality claim |
|
|
333
453
|
| `long-horizon` | thay đổi recovery/context lớn | Lane provider-free chạy ít nhất 30 phút cho hard crash/resume, compaction, handoff, continuation bounded và state-growth; dedicated paid suite chưa phát hành |
|
|
334
454
|
| `private-holdout` | readiness E3 và exact-RC FS7-01 | Tối thiểu 6 family từ 6 repository lineage, giữ ngoài workspace tác giả; chỉ custodian execute-only và human-calibration receipt được chấp nhận |
|
|
@@ -344,8 +464,8 @@ node evals/runtime-conformance-v1/runner.mjs \
|
|
|
344
464
|
|
|
345
465
|
Lệnh trên là vòng lặp developer nhanh, không thay S0 của production. Trước
|
|
346
466
|
provider session đầu tiên, production runner tự chạy hoặc exact-cache-hit cả
|
|
347
|
-
runtime conformance, long-horizon tối thiểu 30 phút
|
|
348
|
-
cùng clean source/tree/config/runner binding.
|
|
467
|
+
architecture conformance, runtime conformance, long-horizon tối thiểu 30 phút
|
|
468
|
+
và WebUI parity; cả bốn phải cùng clean source/tree/config/runner binding.
|
|
349
469
|
|
|
350
470
|
Lane chỉ đạt khi cả 9 ca pass, provider/model usage bằng 0, projection không tạo
|
|
351
471
|
tool orphan, retry sau output/tool-call không được chấp nhận, mỗi operation chỉ
|
|
@@ -841,7 +961,7 @@ Runner chỉ cho phép kết luận tiết kiệm token khi:
|
|
|
841
961
|
report vẫn phải công khai mọi workflow check bị hụt;
|
|
842
962
|
- mọi Piagent session resolved, không timeout/orphan/unknown terminal state và
|
|
843
963
|
có complete causal context receipt;
|
|
844
|
-
- S0 có đủ
|
|
964
|
+
- S0 có đủ bốn provider-free lane receipt cùng exact clean source/tree/config/runner
|
|
845
965
|
binding và completion time hợp lệ; adaptive-context `partial` luôn fail;
|
|
846
966
|
- mỗi Piagent provider attempt có tối đa một subagent, tổng subagent token
|
|
847
967
|
traffic không quá `5%`, và không có session/failed-attempt usage không giải thích;
|
|
@@ -34,7 +34,7 @@ npm install -g @piagent/platform
|
|
|
34
34
|
piagent-setup
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
Chạy `piagent-setup` ngay trong thư mục project. Nó tự cài đúng Pi Coding Agent `0.
|
|
37
|
+
Chạy `piagent-setup` ngay trong thư mục project. Nó tự cài đúng Pi Coding Agent `0.87.1` mà release này pin, cài Pi package, khởi tạo `.pi/`, rồi chạy doctor. Nó cũng cài MCP baseline, subagents, và Herdr Pi integration nếu `herdr` đã có sẵn trên `PATH`; thêm `--no-mcp`, `--no-subagents`, `--no-herdr` nếu không cần, hoặc `--global-only` nếu chưa muốn đụng project nào.
|
|
38
38
|
|
|
39
39
|
Nếu dùng [Herdr](https://herdr.dev/docs/install/) thì cài Herdr **trước** `piagent-setup`:
|
|
40
40
|
|
|
@@ -149,7 +149,7 @@ Muốn chạy nhiều agent song song thì gõ `herdr` thay vì `pi`, rồi mở
|
|
|
149
149
|
| `/workflow be-to-fe <việc>` | Backend read-only, làm FE. |
|
|
150
150
|
| `/workflow commit <message>` | Commit local có kiểm soát, không push. |
|
|
151
151
|
| `/workflow pr <title>` | Tạo PR, hỏi xác nhận trước khi push. |
|
|
152
|
-
| `/fresh
|
|
152
|
+
| `/fresh <workflow> <việc>` | Session đang nặng hoặc tràn context; nhận mọi workflow canonical, xem bằng `/fresh help`. |
|
|
153
153
|
|
|
154
154
|
`/commands` liệt kê hết. Các alias cũ như `/task`, `/scout`, `/be-to-fe`, `/fresh-task`, `/context-index`, `/logs` vẫn chạy nhưng không còn là đường onboard chính. Giải thích từng lệnh: [command-reference-vietnamese.md](command-reference-vietnamese.md). Các workflow ép shape rõ (`/parallel-review`, `/review-loop`, `/parallel-research`, `/parallel-context-build`): [subagents-and-multiagent.md](subagents-and-multiagent.md). Runtime gate tools và cách agent tự dùng chúng: [operator-manual-vietnamese.md](operator-manual-vietnamese.md).
|
|
155
155
|
|
|
@@ -7,14 +7,41 @@ Pi Agent Platform uses explicit release sources for team rollout. Personal machi
|
|
|
7
7
|
|
|
8
8
|
This file is the canonical install, update, rollback, and release checklist. Other docs link here instead of maintaining a second release procedure.
|
|
9
9
|
|
|
10
|
+
## v1.8.0 model-family boundary
|
|
11
|
+
|
|
12
|
+
Pi 0.87.1 adds authenticated GPT-6 Astra, Sol and Luna choices. This release updates the SDK pin, new-session defaults and opt-in routing map, while keeping explicit model pins, prior task state and the frozen 5.6 benchmark evidence intact. Compatibility is checked without paid provider turns. The 108-session v1.7.1 result does not measure GPT-6 quality, latency or token use; a new comparative claim needs a separately approved, paired measurement.
|
|
13
|
+
|
|
14
|
+
## v1.7.1 release boundary
|
|
15
|
+
|
|
16
|
+
The operator closed the paid benchmark cycle on 2026-09-22. This release uses
|
|
17
|
+
provider-free source, package, runtime, browser, and platform checks; it does
|
|
18
|
+
not require another paid smoke or 108-session run. The historical full run and
|
|
19
|
+
selected 14-attempt diagnostic rerun remain separate. Three diagnostic tasks
|
|
20
|
+
received clearer public API contracts and checks. Passing that subset does not
|
|
21
|
+
establish a new full-suite result, a token-saving claim, or production stability.
|
|
22
|
+
This explicit release boundary replaces the paid-run prerequisite below for
|
|
23
|
+
v1.7.1 only; ordinary package and CI gates remain required.
|
|
24
|
+
|
|
25
|
+
Acceptance proof is diagnostic by default in the installed v1.7.1 policy.
|
|
26
|
+
Unproved criteria stay pending in the task record and completion states that
|
|
27
|
+
there is no quality claim. The task contract, declared edit scope, current
|
|
28
|
+
passing verification, trace, and other operational gates remain enforced.
|
|
29
|
+
Projects requiring every criterion to be proved before completion must select
|
|
30
|
+
`acceptanceProofMode: "enforce"` in a reviewed package policy. Diagnostic
|
|
31
|
+
completion is an operational handoff, not evidence that the requested behavior
|
|
32
|
+
is correct or that benchmark performance improved.
|
|
33
|
+
The benchmark runner treats the installed diagnostic default as measurement-only
|
|
34
|
+
and withholds token and production claims even when the operator selects the
|
|
35
|
+
ordinary `release-defaults` treatment.
|
|
36
|
+
|
|
10
37
|
## Supported runtime matrix
|
|
11
38
|
|
|
12
|
-
All supported environments require Node.js `>=22.19.0` and Pi Coding Agent `0.
|
|
39
|
+
All supported environments require Node.js `>=22.19.0` and Pi Coding Agent `0.87.1`. The Pi host is installed as a Node CLI; Pi Agent Platform still defines its own release matrix because the terminal helpers and shell policy rely on Bash/POSIX behavior.
|
|
13
40
|
|
|
14
|
-
| Surface | Status for v1.
|
|
41
|
+
| Surface | Status for v1.8.0 | Rollout guidance |
|
|
15
42
|
|---|---|---|
|
|
16
|
-
| macOS Apple Silicon (`darwin/arm64`) + Bash |
|
|
17
|
-
| Linux x64 + Bash |
|
|
43
|
+
| macOS Apple Silicon (`darwin/arm64`) + Bash | Local compatibility and browser checks passed; full PR/tag gate required. | Roll out after the v1.8.0 release gate passes. |
|
|
44
|
+
| Linux x64 + Bash | Full GitHub Actions PR/tag gate required. | Roll out after the v1.8.0 release gate passes. |
|
|
18
45
|
| macOS Intel (`darwin/x64`) + Bash | Supported target; not currently a dedicated release-gate runner. | Run `piagent-doctor` plus the target project's smoke/verify suite before broad rollout. |
|
|
19
46
|
| Linux ARM64 + Bash | Supported target; not currently a dedicated release-gate runner. | Run `piagent-doctor` plus the target project's smoke/verify suite before broad rollout. |
|
|
20
47
|
| Native Windows x64/ARM64 | Not supported for team rollout in this release. | Node is available on Windows, but platform helper scripts and shell parsing assume Bash/POSIX semantics. Use a verified macOS/Linux surface for release-critical work. |
|
|
@@ -106,7 +133,7 @@ These three components are versioned independently. A full install, update, or r
|
|
|
106
133
|
|
|
107
134
|
| Channel | Source shape | Mutability | Use when |
|
|
108
135
|
|---|---|---:|---|
|
|
109
|
-
| `stable` | `git:github.com/Vt-mmm/piagent@<resolved-commit-sha>` from `v1.
|
|
136
|
+
| `stable` | `git:github.com/Vt-mmm/piagent@<resolved-commit-sha>` from `v1.8.0` | Fixed after resolution | Default for team rollout. |
|
|
110
137
|
| `exact` | Tag, reviewed commit, or a tag resolved with `--resolve-tag` | Fixed when using a commit SHA | Pi-package-only roll forward, rollback, or reproduction. |
|
|
111
138
|
| `dev` | `git:github.com/Vt-mmm/piagent` | Moving | Personal machine or sandbox only. |
|
|
112
139
|
| `local` | `/path/to/piagent` | Local workspace | Platform development and dry-run validation. |
|
|
@@ -125,8 +152,8 @@ Use this flow when the team needs both terminal commands and the Pi package:
|
|
|
125
152
|
|
|
126
153
|
```bash
|
|
127
154
|
node --version # >= 22.19.0
|
|
128
|
-
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.
|
|
129
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
155
|
+
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
|
|
156
|
+
npm install -g --ignore-scripts @piagent/platform@1.8.0
|
|
130
157
|
piagent-install --stable --dry-run
|
|
131
158
|
piagent-install --stable
|
|
132
159
|
```
|
|
@@ -134,8 +161,8 @@ piagent-install --stable
|
|
|
134
161
|
The stable preview and apply output includes:
|
|
135
162
|
|
|
136
163
|
```text
|
|
137
|
-
currentRelease: v1.
|
|
138
|
-
tag: v1.
|
|
164
|
+
currentRelease: v1.8.0 (helper package version)
|
|
165
|
+
tag: v1.8.0
|
|
139
166
|
resolvedCommit: <40-char-sha>
|
|
140
167
|
source: git:github.com/Vt-mmm/piagent@<40-char-sha>
|
|
141
168
|
```
|
|
@@ -152,7 +179,7 @@ bash scripts/install-global.sh --stable
|
|
|
152
179
|
Use this only when terminal commands are not needed:
|
|
153
180
|
|
|
154
181
|
```bash
|
|
155
|
-
pi install git:github.com/Vt-mmm/piagent@v1.
|
|
182
|
+
pi install git:github.com/Vt-mmm/piagent@v1.8.0
|
|
156
183
|
```
|
|
157
184
|
|
|
158
185
|
Direct `pi install` does not create `piagent-*` commands on `PATH`.
|
|
@@ -217,7 +244,7 @@ Running it from a git checkout is refused rather than replacing that checkout's
|
|
|
217
244
|
The same sequence by hand, which must keep this order because `piagent-install` fails against a host that does not match the version it pins and does not install one itself:
|
|
218
245
|
|
|
219
246
|
```bash
|
|
220
|
-
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.
|
|
247
|
+
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
|
|
221
248
|
npm install -g --ignore-scripts @piagent/platform@X.Y.Z
|
|
222
249
|
piagent-install --stable --dry-run
|
|
223
250
|
piagent-install --stable
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# Harness Next: evidence review
|
|
2
|
+
|
|
3
|
+
Research date: 2026-08-30. Status: research and implementation in progress, not a release claim.
|
|
4
|
+
|
|
5
|
+
## The problem being solved
|
|
6
|
+
|
|
7
|
+
Piagent must distinguish an implementation defect, an incomplete test suite, a verifier limitation, and an execution failure. These require different recovery actions. A source recognizer that cannot understand a valid program must not tell the model to rewrite that program without a concrete failing behavior.
|
|
8
|
+
|
|
9
|
+
The retained v6 campaign stopped after six sessions. Pi's expiry implementation received hidden grade 10/10, but its completion receipt remained pending and workflow score was 8.48. A separate, read-only diagnostic passed 480,061 assertions, including 120,000 year/month boundaries. These checks support a verifier-coverage false negative; they do not establish universal correctness or change the failed campaign result.
|
|
10
|
+
|
|
11
|
+
The v6 admission check requires two single-parameter helpers. The actual implementation uses a shared three-parameter normalizer, mutable locals, UTC setter/round-trip calendar validation, numeric separators, and fraction padding. Directly invoking the dataflow layer beneath the admission check still rejects syntax. Adding one more source pattern is therefore not the architectural repair.
|
|
12
|
+
|
|
13
|
+
## Primary sources and transferable mechanisms
|
|
14
|
+
|
|
15
|
+
Numbers below are the authors' reported results under their own models, datasets, budgets, and dates. They are not comparable leaderboard rows and are not predicted Piagent gains.
|
|
16
|
+
|
|
17
|
+
| Source | Evidence or mechanism | What Piagent can transfer; limitation |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| [SWE-agent, NeurIPS 2024, v3](https://arxiv.org/abs/2405.15793v3) | A purpose-built agent-computer interface; reported pass@1 of 12.5% on SWE-bench and 87.7% on HumanEvalFix. | Treat tool feedback and interface design as measurable interventions. Do not assume its 2024 interface or scores transfer to another model. |
|
|
20
|
+
| [Agentless, 2024, v2](https://arxiv.org/abs/2407.01489v2) | Localization, repair, and validation as separate phases; reported 32.00% (96 fixes) on SWE-bench Lite at $0.70 per problem. | Keep control flow inspectable and compare against a simpler baseline. More orchestration is not inherently better. Different benchmark from SWE-agent's full SWE-bench result. |
|
|
21
|
+
| [EvalPlus, 2023, v3](https://arxiv.org/abs/2305.01210v3) | Mutation- and LLM-generated test inputs; HumanEval+ expands tests 80-fold. Across 26 models, the paper reports pass@k reductions up to 19.3–28.9% and changed rankings. | Strengthen independent tests and measure false acceptance, not merely acceptance rate. More cases are useful only with a trustworthy oracle and relevant partitions. |
|
|
22
|
+
| [CEGAR, Clarke et al., 2000](https://web.stanford.edu/class/cs357/cegar.pdf) | Distinguish real counterexamples from artifacts of an abstraction; refine the abstraction for spurious traces. | Preserve `unknown` and route verifier limitations away from blind source repair. The paper's guarantees concern its finite-state model/specification setting, not arbitrary JavaScript or finite random tests. |
|
|
23
|
+
| [fast-check model-based testing](https://fast-check.dev/docs/advanced/model-based-testing/) | Generate stateful command sequences, compare with a simpler model, shrink failures, replay with seed/path. | Exercise verification/recovery histories and save minimal counterexamples. The reference model must not copy the implementation's logic. |
|
|
24
|
+
| [Anthropic agent eval guidance, 2026-01-09](https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents) | Separate transcript from final environment outcome, calibrate graders, validate tasks with reference solutions, distinguish pass@k from all-trial consistency. | Audit both false positives and false negatives; retain outcome and process metrics separately. This is engineering guidance, not a controlled estimate of Piagent improvement. |
|
|
25
|
+
| [AgentLens, 2026, v3](https://arxiv.org/abs/2605.12925v3) | 2,614 trajectories, eight model backends, 60 SWE-bench Verified tasks; a 1,815-trajectory subset over 47 tasks. Among passing trajectories in that subset, 10.7% were classified as Lucky Passes. | Measure blind retries, regression cycles, and verification ordering in addition to final pass rate. This is a recent preprint; its labels are not proof that a specific Piagent run is bad. |
|
|
26
|
+
| [Pi source README](https://github.com/earendil-works/pi/tree/main/packages/coding-agent) | Minimal extensible harness; default read/write/edit/bash tools, extension-based workflow customization. | Keep reusable enforcement in the extension while letting the model choose implementation structure. Minimalism does not replace project authorization or verification. |
|
|
27
|
+
| [mini-SWE-agent](https://mini-swe-agent.com/latest/) | Bash-only actions, linear message history, independent subprocess execution. | Use an observable lean baseline and avoid hidden recovery state. Do not transplant unrestricted shell access into Piagent's protected-path policy. |
|
|
28
|
+
| [OpenHands architecture](https://docs.openhands.dev/sdk/arch/overview), [SDK paper v2](https://arxiv.org/abs/2511.03690v2) | Separate SDK, tools, workspaces, and server; immutable/stateless components and portable execution. | Separate assessment from execution and UI projection; keep backend failures distinct from model failures. No numerical reduction is inferred from the abstract's qualitative production claim. |
|
|
29
|
+
| [LangGraph persistence](https://docs.langchain.com/oss/javascript/langgraph/persistence) | Checkpoints and pending writes preserve completed steps; replay after a checkpoint can re-execute external calls. | Store verification receipts and resume only valid bound work. Replay is not automatically free or side-effect-free; preserve the single paid-attempt ledger. |
|
|
30
|
+
| [OpenAI evaluation guidance](https://developers.openai.com/api/docs/guides/evaluation-best-practices) | Task-specific evaluations, production failure datasets, automated scoring calibrated against human judgment. | Maintain a labelled grader audit set and separate quality, safety, and tool-selection checks. Do not add model judges as an uncalibrated completion authority. |
|
|
31
|
+
|
|
32
|
+
[OpenAI's lean-prompt guidance](https://developers.openai.com/api/docs/guides/latest-model#favor-leaner-prompts) reports an internal sample with roughly 10–15% higher eval scores, 41–66% fewer total tokens, and 33–67% lower cost. The page does not establish an equivalent Piagent workload or a fresh-token saving. This is a hypothesis for a later isolated ablation, not a reason to change prompts during a frozen benchmark or advertise those numbers.
|
|
33
|
+
|
|
34
|
+
## Alternatives considered
|
|
35
|
+
|
|
36
|
+
1. **Extend the current source-template proof.** Low initial cost, but another valid helper graph or expression can fail before semantics. Rejected as the primary fix; retained only as a conservative optional analysis lane.
|
|
37
|
+
2. **Ask the model to judge its own answer.** Flexible but vulnerable to shared blind spots and unsupported confidence. Not a completion authority for executable contracts.
|
|
38
|
+
3. **Use project test exit code alone.** Language-independent but can accept incomplete or manipulated tests. Not sufficient by itself.
|
|
39
|
+
4. **General formal verification of arbitrary generated JavaScript.** Strong results are possible for specified subsets, but a complete practical verifier for unrestricted programs is not a credible scoped deliverable. Keep explicit supported domains and `unknown`.
|
|
40
|
+
5. **Independent contract execution plus orthogonal safety/provenance gates.** Selected direction. Freeze task-derived obligations, run host-owned validators against exact source snapshots, retain counterexamples, and state bounded assurance accurately. This changes the verification mechanism and requires its own calibration; it is not an automatic relaxation of the completion gate.
|
|
41
|
+
|
|
42
|
+
## Execution isolation review
|
|
43
|
+
|
|
44
|
+
[Node's documentation](https://nodejs.org/api/vm.html) explicitly rules out treating `node:vm` as a security boundary. The existing syntax-only compilation is different from executing candidate code; do not turn it into an in-process execution sandbox.
|
|
45
|
+
|
|
46
|
+
[QuickJS-WASM runtime documentation](https://github.com/justjake/quickjs-emscripten/blob/main/doc/quickjs-emscripten/classes/QuickJSRuntime.md) provides separate runtimes/modules, memory/stack controls, interrupts, and module-loader control. It is a candidate for pure-JavaScript probes, not yet a selected production dependency. An [upstream report against a pinned QuickJS commit](https://github.com/bellard/quickjs/issues/545) alleges interrupt-bypass CPU denial of service; the issue is closed, and applicability to any chosen WASM build has not been established. This is a reason to require an independent process deadline and resource tests, not a claim that all QuickJS releases are vulnerable.
|
|
47
|
+
|
|
48
|
+
Initial local discovery found Docker CLI but no running Docker daemon. During subsequent implementation, the existing Docker Desktop was started and a separate locked worker dependency directory was installed without lifecycle scripts; the platform's shared dependencies were not changed. The selected experimental backend combines QuickJS-WASM with a constrained local Docker container, an independent OS watchdog, and host-owned comparison. See the [executor checkpoint](../decisions/harness-next-executor-checkpoint.md) for actual tests and limitations. An unavailable backend produces `error/unknown`, never an unprotected host-execution fallback.
|
|
49
|
+
|
|
50
|
+
The selected [QuickJS core variant interface](https://github.com/justjake/quickjs-emscripten/blob/main/doc/quickjs-emscripten-core/README.md) allows using only core, release-sync WASM, and FFI types, all pinned to 0.32.0 in a dedicated lockfile. The installed variant identifies its underlying QuickJS revision as `f1139494d18a2053630c5ed3384a42bb70db3c53`. [Docker's container runtime controls](https://docs.docker.com/engine/containers/run/) provide the outer process, filesystem, network, and resource boundary. These controls are complementary; neither upstream documentation nor a finite adversarial suite is a blanket security guarantee.
|
|
51
|
+
|
|
52
|
+
## Chosen research hypotheses
|
|
53
|
+
|
|
54
|
+
Persistence follow-up: [SQLite's atomic-commit design](https://sqlite.org/atomiccommit.html) documents journal-based all-or-none transactions, including recovery after interruption, with explicit filesystem/locking/flush assumptions. [Node 22.19.0's SQLite API](https://nodejs.org/download/release/v22.19.0/docs/api/sqlite.html) is available but experimental in that minimum supported runtime, so using it for verifier storage requires a compatibility and packaging decision. Transactional durability alone does not authenticate a receipt, establish an approved oracle, or protect against compromise of a same-user host authority. The subsequent [durable evidence checkpoint](../decisions/harness-next-durable-evidence-checkpoint.md) records the implemented store; the [admission checkpoint](../decisions/harness-next-authenticated-admission-checkpoint.md) records its later runtime integration and remaining limits.
|
|
55
|
+
|
|
56
|
+
Local source inspection also established that the existing working-tree digest covers changes relative to HEAD. The new execution bridge therefore separately binds source bytes and repository revision. This evidence changes the persistence requirement: a cache must not key solely on the old dirty-tree digest, nor treat a public hash as authentication.
|
|
57
|
+
|
|
58
|
+
- H1: Separating verifier abstention from concrete behavioral failure prevents unnecessary source rewrites while preserving rejection of known-bad programs.
|
|
59
|
+
- H2: Independent contract probes accept implementation-equivalent solutions that the v6 recognizer rejects, without accepting the retained mutation corpus.
|
|
60
|
+
- H3: Durable, exact-snapshot receipts eliminate repeated completed provider-free work; replay never drops or repeats paid attempts silently.
|
|
61
|
+
- H4: A leaner recovery interface reduces repair attempts and fresh tokens at equal outcome quality. Test separately after correctness, not bundled with the acceptance experiment.
|
|
62
|
+
|
|
63
|
+
The accompanying architecture decision and evaluation protocol define how these hypotheses can be falsified. No paper or passing finite suite supports a claim of zero possible edge cases. The release must instead state tested input partitions, remaining unsupported contracts, repeated-run reliability, and unresolved risks.
|
|
64
|
+
|
|
65
|
+
## Follow-up: stateful recovery and replay after admission integration
|
|
66
|
+
|
|
67
|
+
Primary documentation was rechecked on 2026-08-30. The current [LangGraph checkpointer guide](https://docs.langchain.com/oss/javascript/langgraph/checkpointers) distinguishes full step checkpoints from completed per-node writes, and explicitly states that replay after a selected checkpoint re-executes later model/API calls. It also distinguishes exit-only, asynchronous, and synchronous durability. Piagent therefore cannot infer “exactly once” from the presence of a checkpoint: completed evidence reuse, pending-attempt reconciliation, and paid-attempt accounting need separate tests. The former durable-execution documentation URL now redirects to the persistence overview; the detailed checkpoint URL above is the relevant source for these claims.
|
|
68
|
+
|
|
69
|
+
The [fault-tolerance guide](https://docs.langchain.com/oss/javascript/langgraph/fault-tolerance) separates retry policy, per-attempt timeout, and exhausted-error handling. This supports keeping worker failure distinct from a source counterexample. It does not justify importing that library's default retry behavior or raising Piagent's existing ceilings. Our next recovery work must retain the actual executor/unsupported reason instead of collapsing every unavailable admission into a generic missing-proof diagnostic.
|
|
70
|
+
|
|
71
|
+
[fast-check's model-based guide](https://fast-check.dev/docs/advanced/model-based-testing/) compares command histories against a simplified model and warns against reproducing the implementation as the oracle. It provides shrinking plus seed/path/replay-path reproduction. The transferable test design is a small abstract authority/attempt model exercised by histories such as reserve → host death → reopen → reconcile → retry, not merely isolated method assertions. No fast-check dependency or general stateful adapter was installed by this checkpoint.
|
|
72
|
+
|
|
73
|
+
Piagent-specific next evidence requirements (design decisions, not claims from the sources):
|
|
74
|
+
|
|
75
|
+
- A completed observation survives restart without another independent attempt, after actual current project verification is refreshed.
|
|
76
|
+
- A pending attempt never launches a duplicate solely because the host restarted or a timeout elapsed.
|
|
77
|
+
- Late completion, cancellation, shutdown, policy revocation, contract drift, and source drift are tested in different orders; the latest valid authority state wins.
|
|
78
|
+
- Counterexamples drive bounded source repair; executor errors and unsupported domains drive diagnosis/unknown, with no invented source defect.
|
|
79
|
+
- Stateful application adapters need a simpler independent behavioral model and held-out command histories. Passing the evidence-store protocol tests alone does not satisfy the required stateful-recovery domain.
|
|
80
|
+
|
|
81
|
+
These requirements extend the existing evaluation protocol; they do not replace the full frozen release campaign or import any external project's performance numbers as Piagent results.
|
|
82
|
+
|
|
83
|
+
## Follow-up: project source graphs and differential diagnostics
|
|
84
|
+
|
|
85
|
+
[Wang, Pradel and Liu's PatchDiff study, v2 (2025-09-09)](https://arxiv.org/abs/2503.15223v2) reports that 7.8% of examined patches counted as correct nevertheless failed developer-written tests. Differential testing exposed behavioral differences in 29.6% of plausible patches; a difference from the reference was not automatically a proven defect. The transfer to Piagent is to combine independently declared obligations, project tests and targeted divergent variants, not require textual similarity to a reference or import these rates as Piagent measurements.
|
|
86
|
+
|
|
87
|
+
Source inspection showed that the experimental backend could not execute an unchanged multi-file implementation because all imports were refused. [QuickJS's runtime interface](https://github.com/justjake/quickjs-emscripten/blob/main/doc/quickjs-emscripten/classes/QuickJSRuntime.md) exposes a module loader plus normalizer, and a pending-job query distinct from synchronous execution. The installed 0.32.0 declarations were inspected as well. The resulting design loads only pre-captured, explicitly approved relative modules; it neither discovers permissions from candidate imports nor supplies host IO. Async execution remains a separate unsupported backend capability.
|
|
88
|
+
|
|
89
|
+
The [module integration checkpoint](../decisions/harness-next-module-checkpoint.md) records actual unchanged production-source execution, dependency-only mutations, authenticated completion/repair and a reproduced observation-time microtask gap. These are development integration diagnostics. They are not independently held-out calibration, exhaustive redactor correctness, a general JavaScript equivalence result or a release campaign.
|
|
90
|
+
|
|
91
|
+
## Follow-up: selecting independently specified contracts
|
|
92
|
+
|
|
93
|
+
[PROGRESS, v1 (2026-07-29)](https://arxiv.org/abs/2607.27359v1) reports 328/562 current-version bugs detected across 25 Java systems and satisfied preconditions for 70/150 difficult properties, versus 18 with standalone jqwik. Its abstract distinguishes regression assertions derived from current behavior from independent semantic properties. It combines generated properties with evolutionary search; it is a recent preprint, not a Piagent result. The transferable requirement is oracle independence and explicit property/parameter binding, not adopting model-generated properties as completion authority or predicting those detection rates here.
|
|
94
|
+
|
|
95
|
+
[Beginner's Luck, POPL 2017, extended v3](https://arxiv.org/abs/1607.05443v3) connects declarative predicates with input generation and distribution controls, with formal results for its own language semantics. [fast-check's property documentation](https://fast-check.dev/docs/core-blocks/properties/) separates generators, preconditions and predicates; [its model-based guide](https://fast-check.dev/docs/advanced/model-based-testing/) warns against duplicating the implementation in the model. Neither source supplies a generic oracle for arbitrary natural-language tasks.
|
|
96
|
+
|
|
97
|
+
Piagent's implemented transfer is a bounded data-template library, typed parameter substitution, exact task-criterion binding, full preview and separate host approval. This is deliberately not a claim to have implemented Luck's solver, PROGRESS's search, random generation or shrinking. Expected observations are authored independently of candidate source/output; a library match establishes identity, not semantic completeness. [The selection checkpoint](../decisions/harness-next-selection-checkpoint.md) records concrete integration tests and remaining held-out/release requirements.
|
|
98
|
+
|
|
99
|
+
## Follow-up: temporal contract semantics before correctness labels
|
|
100
|
+
|
|
101
|
+
Normative sources checked on 2026-08-30: [ECMAScript's Date Time String Format and adjacent Date operations](https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-date-time-string-format) include literal four-digit and signed expanded years, date-only forms and `24:00`; MakeFullYear separately maps numeric years 0–99 to 1900–1999. TimeClip constrains Date values and truncates fractional milliseconds. These facts do not imply that every application should accept every Date.parse form or TimeClip an explicit numeric comparison argument.
|
|
102
|
+
|
|
103
|
+
[RFC 3339 sections 5.6–5.7](https://www.rfc-editor.org/rfc/rfc3339#section-5.6) instead require seconds, permit variable fractional digits and lowercase separators, restrict the hour to 00–23, and include conditional leap-second rules. Thus “ISO timestamp” is not enough to silently select either standard's whole grammar as an application's acceptance oracle.
|
|
104
|
+
|
|
105
|
+
Piagent's new `iso-expiry-millisecond-profile` is an explicit application contract, not a new standards-conformance claim. It covers the original diagnostic's minute/second/fraction forms, Gregorian validation, offsets, small years, inclusive comparison and default-clock behavior, while stating its additional format decisions for operator review. It uses static independent data and real candidate execution; no hidden benchmark grader is imported. Source-independent epoch checks, equivalent implementations, deliberate defects and read-only retained-source replay calibrate different failure modes. The retained campaign remains immutable and these checks remain development evidence.
|
|
106
|
+
|
|
107
|
+
## Follow-up: lifecycle-correct evaluation before performance claims
|
|
108
|
+
|
|
109
|
+
The [Pi SDK guide](https://pi.dev/docs/latest/sdk) describes session-specific extension binding and re-binding after session replacement. Inspection of the installed pinned 0.84.1 SDK and print-mode implementations established that `createAgentSession` alone does not emit extension startup; `bindExtensions` does. Piagent's real-host test omitted that call. Its newer session-lifetime completion fence correctly rejected the uninitialized session. The test now exercises startup and graceful shutdown, with a separate negative case retaining rejection when startup is omitted. The fence was not weakened.
|
|
110
|
+
|
|
111
|
+
A second, independent test-host problem surfaced when the fixture was made to produce a real assertion failure. [Node 24.11.1's test runner](https://github.com/nodejs/node/blob/v24.11.1/lib/internal/test_runner/runner.js) supplies `NODE_TEST_CONTEXT` to test children and refuses recursive process-isolated runs when that variable is present. The Pi bash child inherited it, printed a warning, skipped the project tests and returned success. The fixture now uses the unchanged native Pi bash definition with a spawn hook removing only that outer-runner variable. Every invoked project verifier must report a positive test count and zero skipped tests; the deliberately wrong authorization implementation must produce an actual assertion error. Earlier real-host passes alone were therefore insufficient evidence that those nested tests ran.
|
|
112
|
+
|
|
113
|
+
Two product defects were exposed by the corrected lifecycle: repeated announcements of the same session name unnecessarily rewrote a pending task, and recovery guidance omitted the repository-revision binding when identifying missing verification evidence. Name handling is now idempotent; receipt and guidance projections share the same revision-selection logic. Stale baseline evidence remains rejected. Missing-proof diagnostics expose task-derived targets without edit instructions or mutation permission; only a concrete observed failure can enter the existing bounded repair path. These changes support evaluation validity, not a token-efficiency or production-release claim.
|
package/docs/team-onboarding.md
CHANGED
|
@@ -9,8 +9,8 @@ Một thành viên mới không cần biết local path của maintainer. Luồn
|
|
|
9
9
|
|
|
10
10
|
```bash
|
|
11
11
|
node --version # >= 22.19.0
|
|
12
|
-
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.
|
|
13
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
12
|
+
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
|
|
13
|
+
npm install -g --ignore-scripts @piagent/platform@1.8.0
|
|
14
14
|
piagent-install --stable
|
|
15
15
|
cd /path/to/project
|
|
16
16
|
pi
|
|
@@ -26,7 +26,7 @@ pi
|
|
|
26
26
|
## Prerequisites
|
|
27
27
|
|
|
28
28
|
- Node.js >=22.19.0.
|
|
29
|
-
- Pi Coding Agent `0.
|
|
29
|
+
- Pi Coding Agent `0.87.1`.
|
|
30
30
|
- Runtime rollout:
|
|
31
31
|
- verified: macOS Apple Silicon + Bash, Linux x64 + Bash;
|
|
32
32
|
- supported target cần smoke trước khi rollout rộng: macOS Intel + Bash, Linux ARM64 + Bash;
|
|
@@ -43,8 +43,8 @@ Mặc định team dùng stable helper:
|
|
|
43
43
|
|
|
44
44
|
```bash
|
|
45
45
|
node --version # >= 22.19.0
|
|
46
|
-
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.
|
|
47
|
-
npm install -g --ignore-scripts @piagent/platform@1.
|
|
46
|
+
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
|
|
47
|
+
npm install -g --ignore-scripts @piagent/platform@1.8.0
|
|
48
48
|
piagent-install --stable --dry-run
|
|
49
49
|
piagent-install --stable
|
|
50
50
|
```
|
|
@@ -106,7 +106,7 @@ Version mới nhất được hỏi npm registry nhiều nhất một lần mỗ
|
|
|
106
106
|
Sequence thủ công vẫn dùng được, và bắt buộc theo thứ tự này — `piagent-install` **fail** nếu Pi host lệch bản pin, nó không tự nâng host:
|
|
107
107
|
|
|
108
108
|
```bash
|
|
109
|
-
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.
|
|
109
|
+
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
|
|
110
110
|
npm install -g --ignore-scripts @piagent/platform@X.Y.Z
|
|
111
111
|
piagent-install --stable --dry-run
|
|
112
112
|
piagent-install --stable
|
|
@@ -118,7 +118,7 @@ Full rollback dùng cùng sequence với `vPREVIOUS`, nhưng exact Pi host phả
|
|
|
118
118
|
Nếu team publish npm private:
|
|
119
119
|
|
|
120
120
|
```bash
|
|
121
|
-
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.
|
|
121
|
+
npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
|
|
122
122
|
pi install npm:@your-scope/platform@x.y.z
|
|
123
123
|
```
|
|
124
124
|
|
|
@@ -24,3 +24,10 @@ The neutrality gate scans active WebUI governance and client source. Historical
|
|
|
24
24
|
records and implementation-specific integration documentation may retain an
|
|
25
25
|
actual third-party name when it is necessary to explain compatibility or a
|
|
26
26
|
security decision.
|
|
27
|
+
|
|
28
|
+
Reviewed research records may name the tools whose primary sources they cite;
|
|
29
|
+
source titles must stay accurate. The explicit record list in
|
|
30
|
+
`scripts/check-public-wording.mjs` permits source names only. It does not permit
|
|
31
|
+
promotional comparisons, ranking claims, copied branding, or new authority.
|
|
32
|
+
Unlisted documents and all runtime/operator surfaces retain the full wording
|
|
33
|
+
check. A document cannot opt itself out with a comment or metadata flag.
|
|
@@ -278,7 +278,7 @@ Xem `contextUsage.percent`:
|
|
|
278
278
|
- `< 50%`: bình thường.
|
|
279
279
|
- `50–70%`: bắt đầu tránh đọc file lớn không cần thiết.
|
|
280
280
|
- `70–82%`: chạy `/context compact` trước task dài tiếp theo.
|
|
281
|
-
- `> 82%`: dùng `/fresh
|
|
281
|
+
- `> 82%`: dùng `/fresh <workflow>` cho work mới; `/fresh help` liệt kê mọi workflow canonical.
|
|
282
282
|
- Sau compaction, `contextUsage.tokens` có thể là `null` cho đến khi có assistant response mới.
|
|
283
283
|
|
|
284
284
|
Nếu user paste full mandatory-flow boilerplate, platform input guard sẽ collapse về workflow command ngắn. Nếu prompt quá dài thật, platform có thể lưu intake vào `.pi/task-inbox/` local gitignored rồi replay bằng fresh workflow command.
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.8.0 docs · VI</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Ngôn ngữ">
|
|
35
35
|
<a class="language-option current" href="/architecture" hreflang="vi" lang="vi" aria-current="true">VI</a>
|
|
36
36
|
<a class="language-option" href="/en/architecture" hreflang="en" lang="en">EN</a>
|
package/docs-site/benchmark.html
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.8.0 docs · VI</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Ngôn ngữ">
|
|
35
35
|
<a class="language-option current" href="/benchmark" hreflang="vi" lang="vi" aria-current="true">VI</a>
|
|
36
36
|
<a class="language-option" href="/en/benchmark" hreflang="en" lang="en">EN</a>
|
package/docs-site/commands.html
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<span>Pi Agent Platform</span>
|
|
31
31
|
</a>
|
|
32
32
|
<div class="top-actions">
|
|
33
|
-
<span class="pill"><span class="pill-dot"></span>v1.
|
|
33
|
+
<span class="pill"><span class="pill-dot"></span>v1.8.0 docs · VI</span>
|
|
34
34
|
<nav class="language-switch" aria-label="Ngôn ngữ">
|
|
35
35
|
<a class="language-option current" href="/commands" hreflang="vi" lang="vi" aria-current="true">VI</a>
|
|
36
36
|
<a class="language-option" href="/en/commands" hreflang="en" lang="en">EN</a>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<section class="section">
|
|
2
2
|
<div class="command-grid">
|
|
3
3
|
<article class="command-card"><header><span>Global setup</span><button class="clip-btn" data-clip="piagent-setup --mcp-preset core --subagents-preset safe">Copy</button></header><pre><code>piagent-setup --mcp-preset core --subagents-preset safe</code></pre></article>
|
|
4
|
-
<article class="command-card"><header><span>Full update</span><button class="clip-btn" data-clip="npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.
|
|
4
|
+
<article class="command-card"><header><span>Full update</span><button class="clip-btn" data-clip="npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1 npm install -g --ignore-scripts @piagent/platform@X.Y.Z piagent-install --stable --dry-run piagent-install --stable">Copy</button></header><pre><code>npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
|
|
5
5
|
npm install -g --ignore-scripts @piagent/platform@X.Y.Z
|
|
6
6
|
piagent-install --stable --dry-run
|
|
7
7
|
piagent-install --stable</code></pre></article>
|
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
<section class="section">
|
|
2
|
+
<p class="section-kicker">v1.8.0</p>
|
|
3
|
+
<h2 id="v1-8-0">Astra, Sol, and Luna in Piagent</h2>
|
|
4
|
+
<p class="section-lead">Pi 0.87.1 exposes all three GPT-6 models through the authenticated catalog. New sessions prefer Sol High; parent routing remains opt-in.</p>
|
|
5
|
+
<div class="grid cols-3">
|
|
6
|
+
<article class="card"><h3>Luna</h3><p>Focused, verifiable tasks: the low tier at Medium effort.</p></article>
|
|
7
|
+
<article class="card"><h3>Sol</h3><p>Everyday coding: the medium and high tiers; the new-session default is High when available.</p></article>
|
|
8
|
+
<article class="card"><h3>Astra</h3><p>Broad or ambiguous work: the ultra tier at Extra High. Explicit pins and existing sessions stay intact.</p></article>
|
|
9
|
+
</div>
|
|
10
|
+
<p>The router selects only authenticated models and records a legacy 5.6 fallback. The old 108-session result does not measure GPT-6 performance or token savings.</p>
|
|
11
|
+
</section>
|
|
12
|
+
|
|
13
|
+
<section class="section">
|
|
14
|
+
<p class="section-kicker">v1.7.1</p>
|
|
15
|
+
<h2 id="v1-7-0">Long sessions with clearer context and accounting</h2>
|
|
16
|
+
<p class="section-lead">v1.7.1 supports Pi 0.86.1, repairs session recovery, and adds waiting within an open session.</p>
|
|
17
|
+
<div class="grid cols-3">
|
|
18
|
+
<article class="card"><h3>Requested waiting</h3><p>Ask the agent to wait until the next useful check. The timer makes no model calls while waiting; the session must remain open.</p></article>
|
|
19
|
+
<article class="card"><h3>Context and usage</h3><p>Context prioritizes supported files, and usage and verification results remain bound to the correct task.</p></article>
|
|
20
|
+
<article class="card"><h3>Evidence boundary</h3><p>All 14 formerly failed attempts passed a separate rerun. This is not a new 108-session score or an aggregate token-saving claim.</p></article>
|
|
21
|
+
</div>
|
|
22
|
+
</section>
|
|
23
|
+
|
|
1
24
|
<section class="section">
|
|
2
25
|
<p class="section-kicker">v1.6.1 · Reliability patch</p>
|
|
3
26
|
<h2 id="v1-6-1">Truthful UI state, safe external review, and lower helper overhead</h2>
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
<pre><code>piagent-setup --mcp-preset core --subagents-preset safe</code></pre>
|
|
7
7
|
</article>
|
|
8
8
|
<article class="command-card">
|
|
9
|
-
<header><span>Full update</span><button class="clip-btn" data-clip="npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.
|
|
10
|
-
<pre><code>npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.
|
|
9
|
+
<header><span>Full update</span><button class="clip-btn" data-clip="npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1 npm install -g --ignore-scripts @piagent/platform@X.Y.Z piagent-install --stable --dry-run piagent-install --stable">Lấy lệnh</button></header>
|
|
10
|
+
<pre><code>npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.87.1
|
|
11
11
|
npm install -g --ignore-scripts @piagent/platform@X.Y.Z
|
|
12
12
|
piagent-install --stable --dry-run
|
|
13
13
|
piagent-install --stable</code></pre>
|