Adopt contract 3.0.0 consumed-delivery cleanup #31

Merged
erik merged 1 commit from task-72ab5dfa-consumed-delivery into main 2026-11-04 07:50:05 -06:00
Owner

Summary

Adopts published Slugkit client-owned incoming history: API package 2.0.0, breaking contract 3.0.0, and template 1.0.0 retention behavior while preserving site customizations. Task: task-72ab5dfa.

  • Site-owned DELETE atomically removes explicitly selected/scoped bodies, copy metadata and every delivery alias, counting copy records (including selected legacy body-less records).
  • Preserve AUTOINCREMENT high-water/cursors, buffered post/boost deduplication, old-ID retry isolation, publications/comments and follow/contact behavior. Redelivery receives fresh copy IDs; clients own durable scoped post objectId versus boost activityId recognition.
  • Add reviewed operator-only, scoped, bounded legacy cleanup SQL and synthetic guard/rollback tests. No new migration, automatic purge or unconsumed-content deletion.
  • Update metadata/discovery/OpenAPI expectations and rehearsal contract assertion. Record adoption, legacy assessment and rollout procedure in docs/incoming-activity-retention.md.

Verification

  • npm run typecheck, npm run lint, npm run build: pass.
  • npm test: 754 passed, including signed federation/local HTTP integration tests.
  • npm run test:ci: 586 passed.
  • Synthetic Playwright: 40 passed with PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH pointing to installed Chromium 1234. Default expected Chromium 1243 is absent; no browser install or production app startup performed.
  • git diff --check: pass. Build regenerated unrelated CSS; that generated-only change was discarded.
  • npm audit reports 29 dependency advisories (21 moderate, 8 high), none directly for slug-api; no broad dependency remediation included.
  • Independent review and exact-head CI results to follow.

Hard rollout restrictions

Do not deploy/publish a web release or purge legacy tombstones until Rott task-5a4a4e82 verifies remote identity/redelivery recognition and repeat cleanup including offline/restart and uncertain responses. Deployment and production cleanup each require separate explicit authorization. Rott readiness is not verified. Source merge does not authorize either action. No CLI update.

No existing private/hosted database was inspected or migrated, no production cleanup or application restart occurred. Docker daemon unavailable; source-watching rehearsal app must remain stopped under existing rollout restrictions. Legacy body-less counts remain unknown; SQL is only exercised on synthetic disposable fixtures. Existing-data startup/migration and production-shaped rehearsal require separate authorization.

## Summary Adopts published Slugkit client-owned incoming history: API package **2.0.0**, breaking contract **3.0.0**, and template **1.0.0** retention behavior while preserving site customizations. Task: `task-72ab5dfa`. - Site-owned DELETE atomically removes explicitly selected/scoped bodies, copy metadata and every delivery alias, counting copy records (including selected legacy body-less records). - Preserve AUTOINCREMENT high-water/cursors, buffered post/boost deduplication, old-ID retry isolation, publications/comments and follow/contact behavior. Redelivery receives fresh copy IDs; clients own durable scoped post `objectId` versus boost `activityId` recognition. - Add reviewed operator-only, scoped, bounded legacy cleanup SQL and synthetic guard/rollback tests. No new migration, automatic purge or unconsumed-content deletion. - Update metadata/discovery/OpenAPI expectations and rehearsal contract assertion. Record adoption, legacy assessment and rollout procedure in `docs/incoming-activity-retention.md`. ## Verification - `npm run typecheck`, `npm run lint`, `npm run build`: pass. - `npm test`: **754 passed**, including signed federation/local HTTP integration tests. - `npm run test:ci`: **586 passed**. - Synthetic Playwright: **40 passed** with `PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH` pointing to installed Chromium 1234. Default expected Chromium 1243 is absent; no browser install or production app startup performed. - `git diff --check`: pass. Build regenerated unrelated CSS; that generated-only change was discarded. - npm audit reports 29 dependency advisories (21 moderate, 8 high), none directly for slug-api; no broad dependency remediation included. - Independent review and exact-head CI results to follow. ## Hard rollout restrictions **Do not deploy/publish a web release or purge legacy tombstones until Rott `task-5a4a4e82` verifies remote identity/redelivery recognition and repeat cleanup including offline/restart and uncertain responses. Deployment and production cleanup each require separate explicit authorization.** Rott readiness is not verified. Source merge does not authorize either action. No CLI update. No existing private/hosted database was inspected or migrated, no production cleanup or application restart occurred. Docker daemon unavailable; source-watching rehearsal app must remain stopped under existing rollout restrictions. Legacy body-less counts remain unknown; SQL is only exercised on synthetic disposable fixtures. Existing-data startup/migration and production-shaped rehearsal require separate authorization.
feat: adopt contract 3 consumed incoming cleanup
All checks were successful
CI / build-lint-test (push) Successful in 2m4s
1fdde15c47
Author
Owner

Independent review and final delivery gates

Reviewed head: 1fdde15c476e1a7728ec7e50d18ab26f1436a376.

An independent read-only reviewer inspected the diff, new operator SQL/adoption guide, surrounding services/routes/tests, packaged API metadata/schema and migrations 028–031. No actionable defects or unmet source-adoption requirements were found; no optional suggestions. The reviewer confirmed scoped atomic removal, cursor/high-water preservation, fresh redelivery copy IDs, old-ID retry isolation, bounded body-less-only operator cleanup and preservation of site customizations.

Review limits: static assessment; reviewer did not rerun commands/tests or open databases. Production schema/rehearsal and client readiness were not independently verified. Original review artifact: /tmp/task-72ab5dfa-independent-review.log in the implementation environment.

Verified separately by the implementing agent:

  • Local typecheck, lint and build passed.
  • Full tests: 754 passed. CI-scope tests: 586 passed.
  • Synthetic browser tests: 40 passed using installed Chromium 1234 via executable-path override; default expected Chromium 1243 was absent.
  • Exact-head CI run 114 attempt 2 passed in 2m4s: https://forge.caradoc.com/erik/erikvancraddock.com/actions/runs/114/jobs/0/attempt/2 . Attempt 1 failed before checkout because downloading setup-node from data.forgejo.org was reset; retry passed without code changes.
  • Working tree clean; no source changes after independent review.

The user explicitly removed Rott readiness verification from task-72ab5dfa's acceptance/completion criteria. That client work is tracked separately in task-5a4a4e82; existing rollout documentation is not a task-completion gate. No deployment, web release, application restart against private data or production cleanup is authorized or performed. Those remain separate explicitly authorized operations. Legacy hosted counts and production-shaped rehearsal remain unknown/pending.

npm audit reported 29 dependency advisories (21 moderate, 8 high), none directly for slug-api; broad dependency remediation is outside this adoption.

## Independent review and final delivery gates Reviewed head: `1fdde15c476e1a7728ec7e50d18ab26f1436a376`. An independent read-only reviewer inspected the diff, new operator SQL/adoption guide, surrounding services/routes/tests, packaged API metadata/schema and migrations 028–031. **No actionable defects or unmet source-adoption requirements were found; no optional suggestions.** The reviewer confirmed scoped atomic removal, cursor/high-water preservation, fresh redelivery copy IDs, old-ID retry isolation, bounded body-less-only operator cleanup and preservation of site customizations. Review limits: static assessment; reviewer did not rerun commands/tests or open databases. Production schema/rehearsal and client readiness were not independently verified. Original review artifact: `/tmp/task-72ab5dfa-independent-review.log` in the implementation environment. Verified separately by the implementing agent: - Local typecheck, lint and build passed. - Full tests: 754 passed. CI-scope tests: 586 passed. - Synthetic browser tests: 40 passed using installed Chromium 1234 via executable-path override; default expected Chromium 1243 was absent. - Exact-head CI run 114 **attempt 2 passed** in 2m4s: https://forge.caradoc.com/erik/erikvancraddock.com/actions/runs/114/jobs/0/attempt/2 . Attempt 1 failed before checkout because downloading setup-node from data.forgejo.org was reset; retry passed without code changes. - Working tree clean; no source changes after independent review. The user explicitly removed Rott readiness verification from task-72ab5dfa's acceptance/completion criteria. That client work is tracked separately in task-5a4a4e82; existing rollout documentation is not a task-completion gate. **No deployment, web release, application restart against private data or production cleanup is authorized or performed.** Those remain separate explicitly authorized operations. Legacy hosted counts and production-shaped rehearsal remain unknown/pending. npm audit reported 29 dependency advisories (21 moderate, 8 high), none directly for slug-api; broad dependency remediation is outside this adoption.
erik merged commit 517923aed7 into main 2026-11-04 07:50:05 -06:00
erik deleted branch task-72ab5dfa-consumed-delivery 2026-11-04 07:50:05 -06:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
erik/erikvancraddock.com!31
No description provided.