Skip to content

AIT-595: Library recovery hardening (list/retry/asset bind fail-closed) - #562

Merged
CharlesHarry7 merged 1 commit into
mainfrom
agent/grok-coder/ait-595-library-recovery-hardening
Aug 6, 2026
Merged

AIT-595: Library recovery hardening (list/retry/asset bind fail-closed)#562
CharlesHarry7 merged 1 commit into
mainfrom
agent/grok-coder/ait-595-library-recovery-hardening

Conversation

@CharlesHarry7

Copy link
Copy Markdown
Owner

Summary

Residual owner list / retry / asset bind fail-closed after #434 / #511 / AIT-523.

Path Behavior Fail-closed
Same-photo newAttemptUrl Pure applyOwnerReadyAssetBindGate Empty ready set / foreign / forged URL → strip handoff only; inputBound stays honest
List/detail gate Delegates to pure gate + listReadyOwnerAssetIds Storage/query down → empty membership set (no invented same-photo)
Image GET local miss + durable UUID Consults getPrivateLibraryJobForOwner Admin/query down → 503 DURABLE_DETAIL_UNAVAILABLE (never invent process-memory-only 404)

Changes

  • lib/privateGenerationResultsPure.mjs — pure bind gate + candidate collector
  • lib/privateGenerationResults.ts — async gate uses pure path
  • app/api/image/[id]/route.ts — GET durable unavailable honesty
  • scripts/library-owner-safe-regression.mjs — pure unit + source locks

No Vercel deploy, no Stripe live, no fake UGC.

Closes AIT-595

Test plan

  • npm run library-owner-safe-regression
  • npm run durable-library-statuses-regression
  • npm run download-owner-safe-regression
  • npm run typecheck
  • npm run lint
  • Manual: signed-in owner list still 503s on durable list unavailable (unchanged)
  • Manual: failed durable row with ready owner asset keeps same-photo handoff
  • Manual: storage down for toy_assets strips same-photo only (generic Create remains)
  • Manual: Image GET on durable UUID while private storage down → 503 not local 404

@vercel

vercel Bot commented Aug 6, 2026

Copy link
Copy Markdown

Deployment failed for project pikbo-readiness with the following error:

Resource is limited - try again in 24 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/pi-kbo?upgradeToPro=build-rate-limit

Owner list/retry/asset bind residual after #434/#511:

- Extract pure applyOwnerReadyAssetBindGate + collectLibraryNewAttemptAssetIds
  so same-photo Create handoffs are unit-testable without Supabase
- gateLibrarySamePhotoHandoffs delegates to pure gate; membership stays
  fail-closed empty-set via listReadyOwnerAssetIds when storage is down
- Image GET local-miss + durable UUID: 503 DURABLE_DETAIL_UNAVAILABLE when
  private verify is down (never invent process-memory-only 404)
- library-owner-safe-regression locks pure bind gate + image GET 503

Closes AIT-595

No deploy. No Stripe live. No fake UGC.

Co-authored-by: multica-agent <github@multica.ai>
@CharlesHarry7
CharlesHarry7 force-pushed the agent/grok-coder/ait-595-library-recovery-hardening branch from 8722fda to 3fc8a39 Compare August 6, 2026 13:30
@vercel

vercel Bot commented Aug 6, 2026

Copy link
Copy Markdown

Deployment failed for project pikbo with the following error:

Resource is limited - try again in 24 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/pi-kbo?upgradeToPro=build-rate-limit

@CharlesHarry7
CharlesHarry7 merged commit 164d0fb into main Aug 6, 2026
1 of 3 checks passed
@CharlesHarry7
CharlesHarry7 deleted the agent/grok-coder/ait-595-library-recovery-hardening branch August 6, 2026 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant