Add date-isolated caches and regression coverage, align scoring identity, and freeze full research reruns while preserving historical artifacts. Record unresolved cache/receipt identity and end-to-end acceptance gaps for branch review only. Co-Authored-By: Claude Code <noreply@anthropic.com>
256 lines
15 KiB
JSON
256 lines
15 KiB
JSON
{
|
|
"phase": "Final rerun after confirmation-gate report-path update; earlier candidate run retained separately",
|
|
"baseline": {
|
|
"tests": 3486,
|
|
"pass": 3407,
|
|
"fail": 79,
|
|
"skipped": 0,
|
|
"failures": [
|
|
"admin code functions reject immutable codes, revoked redemption, and roll back on audit failure",
|
|
"operation-level admin email reauthentication is removed from routes and UI",
|
|
"rectification agent maps setup failures without calling the rest of the handler",
|
|
"public code never imports the internal dynamic choice contract",
|
|
"tests\\\\birth-time-guide-agent.test.ts",
|
|
"candidate scores stay out of the specified client ownership boundary",
|
|
"personal Agent exposes the Jyotish Skill and named server tool",
|
|
"general agent runtime has no Jyotish skill package and no personal chart tool",
|
|
"the route's own strict checklist reaches the answer, not just the package listing",
|
|
"a route the skill declares no checklist for is reported, not filled in with another route's",
|
|
"health uses the skill's health-timing-strict checklist",
|
|
"wealth uses finance-timing-strict as the live checklist, with the wealth alias in the heading",
|
|
"a multi-domain plan carries every executed route's checklist once",
|
|
"no plan can spend the answer's context on method",
|
|
"the widest legal plan still fits the budget",
|
|
"further reading offers the references the skill names, and only ones that exist",
|
|
"the delivered method is quoted from the live skill tree",
|
|
"tests\\\\consultation-workflow-request.test.ts",
|
|
"admin customer reset clears only rebuildable application state",
|
|
"service and restricted admin database identities stay separated",
|
|
"Owner recovery grants only one currently loginable synced identity admin",
|
|
"staging backups are encrypted, atomic, private, and retain the newest three",
|
|
"rejects destructive backup directory aliases and symlink components before mutation",
|
|
"rejects unsafe writable backup parents before creating the target",
|
|
"rejects a direct canonical sticky shared backup directory before chmod",
|
|
"creates every absent backup path component privately despite a permissive caller umask",
|
|
"same-second backups publish once without overwriting the completed archive",
|
|
"find enumeration failures preserve existing backups and do not report completion",
|
|
"refuses full disks and removes a failed-pipeline partial file",
|
|
"billing order adjustments and redemption reasons are atomic and audited",
|
|
"billing, subscriptions, usage authorization, RBAC, and model publication remain transactional",
|
|
"saving a published product forks a draft and delete retires or removes it",
|
|
"append_consultation_question ignores thinking fields and enforces the physical JSON cap",
|
|
"database env validator accepts punctuated literal required secrets",
|
|
"database env validator rejects symlinks and unsafe modes",
|
|
"database env validator enforces an explicit staging owner uid without printing values",
|
|
"database env validator accepts a private valid file without printing values",
|
|
"local PostgreSQL applies the reviewed business schema and serves authenticated business calls",
|
|
"personal_reports.card_summary is nullable, owner-read, service-written, and length-capped",
|
|
"personal report job migration is atomic, lease-bound, recoverable, and owner read-only",
|
|
"longform appendices are owner-read, service-written, and never change report status",
|
|
"personal report sections enforce owner-read RLS and service-owned durable transitions",
|
|
"block_scan RPCs are service_role-only and advance a declared period",
|
|
"redeem security: case-sensitive hashing, rate limiting, idempotency and order ownership",
|
|
"read_report_candidate_range is service_role-only, returns only the window, and stays empty without rows",
|
|
"self-hosted identity migration creates Better Auth tables with least privilege",
|
|
"database roles have no cluster privileges",
|
|
"every color token used as a Tailwind utility is exposed through @theme",
|
|
"staging model provider env preparation removes legacy settings and keeps one stable key",
|
|
"staging env validator rejects selector drift, duplicates, and unsafe permissions",
|
|
"production env validators accept only self-hosted production selectors and role URLs",
|
|
"Better Auth supports shared user OTP/password sessions for admins",
|
|
"database drops secret refs, generates immutable codes, and invalidates evidence after key rotation",
|
|
"job migration mirror is exact and preserves personal_reports as the document projection",
|
|
"document v2 and durable job migrations are exact db/supabase mirrors",
|
|
"document v2 migration preserves v1 reads and adds explicit product depth",
|
|
"durable job migration defines the complete state, lease, retry, and identity contract",
|
|
"durable job migration atomically enqueues reports and exposes lease RPCs only to service_role",
|
|
"ingest P0: education kinds, batch confirm, opening focus reuse, precision lock",
|
|
"PR-4 candidate decisions use server UUIDs, receipt-derived gates and separate acceptance/confirmation",
|
|
"tests\\\\rectification-v9-agent.test.ts",
|
|
"v9 migration applies on a fresh database and re-applies idempotently",
|
|
"v9 open is atomic, idempotent and allows separate homepage cases",
|
|
"v9 enforces profile gating, ownership and terminal read-only",
|
|
"v9 evidence lifecycle: quote grounding, idempotency, confirm and revision lineage",
|
|
"v9 legacy backfill maps statuses, keeps one resumable per user and is idempotent",
|
|
"v9 agent api migration applies, seeds the runtime flag and guards consent",
|
|
"v9 ignores a historical active minute and allows reselection within the live result",
|
|
"tests\\\\skill-binding.test.ts",
|
|
"immutable Skill migration enforces RPC-only identity, legacy adoption, and cascade-safe receipts",
|
|
"checked-in registry verifies hashed product packages and leaves consult on the live skill",
|
|
"path traversal and symlink escape fail closed",
|
|
"symbolic links are rejected even when their target stays inside the project root",
|
|
"live consult skill reads a hand-updated tree without a registry hash",
|
|
"changed staging workflows are syntactically valid YAML",
|
|
"live staging sync preserves env, state, incoming files, and encrypted backups",
|
|
"live staging sync repairs nested deploy-tree drift without preserving foreign ownership",
|
|
"first immutable deployment rolls back to validated local image IDs",
|
|
"is-docs-only-range.sh decides from local history and refuses non-ancestor ranges"
|
|
]
|
|
},
|
|
"final": {
|
|
"tests": 3493,
|
|
"pass": 3414,
|
|
"fail": 79,
|
|
"skipped": 0,
|
|
"failures": [
|
|
"admin code functions reject immutable codes, revoked redemption, and roll back on audit failure",
|
|
"operation-level admin email reauthentication is removed from routes and UI",
|
|
"rectification agent maps setup failures without calling the rest of the handler",
|
|
"public code never imports the internal dynamic choice contract",
|
|
"tests\\\\birth-time-guide-agent.test.ts",
|
|
"candidate scores stay out of the specified client ownership boundary",
|
|
"personal Agent exposes the Jyotish Skill and named server tool",
|
|
"general agent runtime has no Jyotish skill package and no personal chart tool",
|
|
"the route's own strict checklist reaches the answer, not just the package listing",
|
|
"a route the skill declares no checklist for is reported, not filled in with another route's",
|
|
"health uses the skill's health-timing-strict checklist",
|
|
"wealth uses finance-timing-strict as the live checklist, with the wealth alias in the heading",
|
|
"a multi-domain plan carries every executed route's checklist once",
|
|
"no plan can spend the answer's context on method",
|
|
"the widest legal plan still fits the budget",
|
|
"further reading offers the references the skill names, and only ones that exist",
|
|
"the delivered method is quoted from the live skill tree",
|
|
"tests\\\\consultation-workflow-request.test.ts",
|
|
"admin customer reset clears only rebuildable application state",
|
|
"service and restricted admin database identities stay separated",
|
|
"Owner recovery grants only one currently loginable synced identity admin",
|
|
"staging backups are encrypted, atomic, private, and retain the newest three",
|
|
"rejects destructive backup directory aliases and symlink components before mutation",
|
|
"rejects unsafe writable backup parents before creating the target",
|
|
"rejects a direct canonical sticky shared backup directory before chmod",
|
|
"creates every absent backup path component privately despite a permissive caller umask",
|
|
"same-second backups publish once without overwriting the completed archive",
|
|
"find enumeration failures preserve existing backups and do not report completion",
|
|
"refuses full disks and removes a failed-pipeline partial file",
|
|
"billing order adjustments and redemption reasons are atomic and audited",
|
|
"billing, subscriptions, usage authorization, RBAC, and model publication remain transactional",
|
|
"saving a published product forks a draft and delete retires or removes it",
|
|
"append_consultation_question ignores thinking fields and enforces the physical JSON cap",
|
|
"database env validator accepts punctuated literal required secrets",
|
|
"database env validator rejects symlinks and unsafe modes",
|
|
"database env validator enforces an explicit staging owner uid without printing values",
|
|
"database env validator accepts a private valid file without printing values",
|
|
"local PostgreSQL applies the reviewed business schema and serves authenticated business calls",
|
|
"personal_reports.card_summary is nullable, owner-read, service-written, and length-capped",
|
|
"personal report job migration is atomic, lease-bound, recoverable, and owner read-only",
|
|
"longform appendices are owner-read, service-written, and never change report status",
|
|
"personal report sections enforce owner-read RLS and service-owned durable transitions",
|
|
"block_scan RPCs are service_role-only and advance a declared period",
|
|
"redeem security: case-sensitive hashing, rate limiting, idempotency and order ownership",
|
|
"read_report_candidate_range is service_role-only, returns only the window, and stays empty without rows",
|
|
"self-hosted identity migration creates Better Auth tables with least privilege",
|
|
"database roles have no cluster privileges",
|
|
"every color token used as a Tailwind utility is exposed through @theme",
|
|
"staging model provider env preparation removes legacy settings and keeps one stable key",
|
|
"staging env validator rejects selector drift, duplicates, and unsafe permissions",
|
|
"production env validators accept only self-hosted production selectors and role URLs",
|
|
"Better Auth supports shared user OTP/password sessions for admins",
|
|
"database drops secret refs, generates immutable codes, and invalidates evidence after key rotation",
|
|
"job migration mirror is exact and preserves personal_reports as the document projection",
|
|
"document v2 and durable job migrations are exact db/supabase mirrors",
|
|
"document v2 migration preserves v1 reads and adds explicit product depth",
|
|
"durable job migration defines the complete state, lease, retry, and identity contract",
|
|
"durable job migration atomically enqueues reports and exposes lease RPCs only to service_role",
|
|
"ingest P0: education kinds, batch confirm, opening focus reuse, precision lock",
|
|
"PR-4 candidate decisions use server UUIDs, receipt-derived gates and separate acceptance/confirmation",
|
|
"tests\\\\rectification-v9-agent.test.ts",
|
|
"v9 migration applies on a fresh database and re-applies idempotently",
|
|
"v9 open is atomic, idempotent and allows separate homepage cases",
|
|
"v9 enforces profile gating, ownership and terminal read-only",
|
|
"v9 evidence lifecycle: quote grounding, idempotency, confirm and revision lineage",
|
|
"v9 legacy backfill maps statuses, keeps one resumable per user and is idempotent",
|
|
"v9 agent api migration applies, seeds the runtime flag and guards consent",
|
|
"v9 ignores a historical active minute and allows reselection within the live result",
|
|
"tests\\\\skill-binding.test.ts",
|
|
"immutable Skill migration enforces RPC-only identity, legacy adoption, and cascade-safe receipts",
|
|
"checked-in registry verifies hashed product packages and leaves consult on the live skill",
|
|
"path traversal and symlink escape fail closed",
|
|
"symbolic links are rejected even when their target stays inside the project root",
|
|
"live consult skill reads a hand-updated tree without a registry hash",
|
|
"changed staging workflows are syntactically valid YAML",
|
|
"live staging sync preserves env, state, incoming files, and encrypted backups",
|
|
"live staging sync repairs nested deploy-tree drift without preserving foreign ownership",
|
|
"first immutable deployment rolls back to validated local image IDs",
|
|
"is-docs-only-range.sh decides from local history and refuses non-ancestor ranges"
|
|
]
|
|
},
|
|
"baseline_only": [],
|
|
"final_only": [],
|
|
"commands": {
|
|
"baseline": [
|
|
{
|
|
"command": "tsc",
|
|
"exit": 0,
|
|
"seconds": 44.09
|
|
},
|
|
{
|
|
"command": "lint",
|
|
"exit": 0,
|
|
"seconds": 32.7
|
|
},
|
|
{
|
|
"command": "test",
|
|
"exit": 1,
|
|
"seconds": 149.2
|
|
},
|
|
{
|
|
"command": "build",
|
|
"exit": 1,
|
|
"seconds": 2.66
|
|
}
|
|
],
|
|
"final": [
|
|
{
|
|
"command": "tsc",
|
|
"exit": 0,
|
|
"seconds": 38.28
|
|
},
|
|
{
|
|
"command": "lint",
|
|
"exit": 0,
|
|
"seconds": 25.39
|
|
},
|
|
{
|
|
"command": "test",
|
|
"exit": 1,
|
|
"seconds": 135.52
|
|
},
|
|
{
|
|
"command": "build",
|
|
"exit": 1,
|
|
"seconds": 2.39
|
|
}
|
|
]
|
|
},
|
|
"metadata_and_version_targeted": {
|
|
"tests": 14,
|
|
"pass": 14,
|
|
"fail": 0,
|
|
"skipped": 0,
|
|
"failures": []
|
|
},
|
|
"bug621_plus_convergence_and_version": {
|
|
"tests": 59,
|
|
"pass": 55,
|
|
"fail": 4,
|
|
"skipped": 0,
|
|
"failures": [
|
|
"checked-in registry verifies hashed product packages and leaves consult on the live skill",
|
|
"path traversal and symlink escape fail closed",
|
|
"symbolic links are rejected even when their target stays inside the project root",
|
|
"live consult skill reads a hand-updated tree without a registry hash"
|
|
]
|
|
},
|
|
"lint": {
|
|
"baseline_errors": 0,
|
|
"baseline_warnings": 120,
|
|
"final_errors": 0,
|
|
"final_warnings": 120
|
|
},
|
|
"build_limitation": "Both builds fail because external node_modules junction is outside the Turbopack filesystem root; Static/gzip not measured",
|
|
"new_version_tests": 7,
|
|
"baseline_frontend_files_compared": 1500,
|
|
"baseline_source_modified": false,
|
|
"installed_or_upgraded_dependencies": false
|
|
}
|