Skip to content

Hygiene sprint session 4: Discovery & delivery - #16

Merged
tomcrane merged 23 commits into
mainfrom
hygiene/session-4
Aug 26, 2026
Merged

Hygiene sprint session 4: Discovery & delivery#16
tomcrane merged 23 commits into
mainfrom
hygiene/session-4

Conversation

@tomcrane

Copy link
Copy Markdown
Contributor

Session 4 of the hygiene sprint (2026-08-19): all 27 DIS (Discovery & delivery) decision cards now carry final statuses — 16 ruled in-room this session, DIS-19 deferred by the PO for verification outside the sprint, the rest closed in earlier sessions. One commit per ruling; every behavioural claim in the changed docs was wire-verified against released v1.13.2 on stage before writing.

Ruling-by-ruling

  • DIS-04 (b): tags/roles/id filtering is wanted — issue protagonist#1279 raised requesting an RFC aimed at the portal team (#753 storage prerequisite). Live Aside unchanged; sample docstrings corrected (unknown q keys are silently ignored, never an error — wire-proven).
  • DIS-05 (b′): multi-value filtering folded into the #1279 RFC scope (OR/AND semantics, manifests precedent, the loud-400 vs silent-ignore inconsistency). No live-doc change.
  • DIS-06 (c): unknown orderBy fields 500 — issue protagonist#1280 + fix PR protagonist#1281 (whitelist → clean 400; breaking, signposted). Doc sentence tightened from "any asset property" to a wire-verified safe list, status-code-neutral so it survives the fix. A card prediction was overturned on the wire (orderBy=manifests works).
  • DIS-07 (b): named-queries gains a full Output types section — pdf, zip, raw-resource, control files, 202+Retry-After, the pdf purge DELETE (released 200+success; our XC-01 204 change is release-gated in scratch), thumbnails "closest to configured projection size, 1000px default" (PO correction, code-verified), and "PDF generation may not be enabled on all environments". New sample named_query_outputs.py, proven end-to-end on stage.
  • DIS-08 (a): objectname/coverpage/redactedmessage documented with applicability + replacement tokens; sequence/roles dropped as old-doc phantoms; sample extended with objectname={s1}.zip, wire-proven via the control-file key.
  • DIS-09 (b): minimal ## global section live (admin-only, read-only otherwise); the full wire-confirmed contract table is in scratch, gated on protagonist#566 (followable global-NQ links).
  • DIS-10 (d): the manifest template-key row removed for DIS-03 consistency; promotion-ready corrected row parked, gated on the iiif.mdx port.
  • DIS-11 (a): docs now lead with assetOrder (canvas = legacy alias, matching the code's [Obsolete]); all examples and three samples swapped and wire-proven. Addendum per PO: asc/desc + multi-field syntax promoted into the syntax table; discovery that raw-resource ignores assetOrder folded into the docs.
  • DIS-14 (b′): entrypoint's phantom deliveryChannelPolicies dropped (no route, 404); the real-but-unadvertised queue link added in PR protagonist#1282; doc made released-truthful now with a release-gated twin.
  • DIS-16 (a): card premise overturned — portalRoles was a dead link that has always 404'd. Removed with its orphaned vocab class in PR protagonist#1284 (breaking, signposted). Docs were correctly silent; no change needed.
  • DIS-17 (a): entrypoint scratch rewritten to current state; both provenance items closed (one decided, one found already documented in delivery-channels.mdx).
  • DIS-19: deferred — PO will verify the single-asset-manifest AV/file/adjunct examples outside the sprint; feasibility scout preserved in the card.
  • DIS-20 (c): three live ../iiif 404 links neutralised to plain text (including one the card's inventory missed); re-link notes in scratch keyed to the iiif.mdx port, which the PO has scheduled separately.
  • DIS-22 (a): both per-batch asset endpoints added to the applicable asset-query endpoints (wire-verified, released routes); cross-references in batch.mdx; boundary comment on protagonist#960.
  • DIS-23 (b): v2/v3 path segments + Accept-profile negotiation documented on named-queries and single-asset-manifest (adjacent gap folded in); every shape wire-confirmed.
  • DIS-26 (a): the thumbs Aside's "no thumbnails are produced" claim was false (auth-location thumbs are generated but never served — traced through Engine and serving code, then proven with a live role-protected ingest). Aside now states the wire-proven 404 behaviour; the "only serves open content" sentence confirmed.
  • DIS-27 (a): NamedQuery template → Order 12 in PR protagonist#1286 (byte-identical output; last known duplicate-Order instance).

Also in this branch: session pre-flight (hydra-flags re-baseline @develop 92fa2661, issues refresh, released-wire sweep), a mid-session correction to my own #1279 issue text (the space filter claim — only batch endpoints honour it, wire-proven), and the close-out register sweep (85 cards closed register-wide).

🤖 Generated with Claude Code

tomcrane and others added 23 commits August 19, 2026 10:35
…ion-3 deltas only), issues refresh (148/65/8, new #1275/#649), released-wire sweep (EntryPoint links, namedQuery global/template both serialize)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… #1279 raised requesting an RFC for the portal team (#753 prerequisite); Aside unchanged; sample docstrings corrected (unknown q keys silently ignored, never an error)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…e (comment added: OR/AND semantics, manifests precedent, 400-vs-silent-ignore inconsistency); no live-doc change

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…hould 400 not handled-500); doc sentence tightened to wire-verified safe list, status-code-neutral error wording; manifests-500 prediction corrected (200 on wire)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…1280 fix (orderBy validation, 400 not 500; breaking, signposted)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…put types section: control files, 202+Retry-After, purge DELETE at released 200+success, thumbnail-closest-to-1000px per PO correction, pdf availability caveat); sample named_query_outputs.py proven on stage; XC-01 purge-204 twin release-gated

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ith applicability + replacement tokens; sequence/roles dropped as phantom params; sample extended with objectname={s1}.zip, wire-proven via control-file key

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…y otherwise); full wire-confirmed contract table in scratch, gated on protagonist #566 (followable global NQ links, @id without customer id)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…x table for DIS-03 consistency; promotion-ready corrected row (manifest=p1, iiif-presentation flat id semantics) parked in scratch, gated on iiif.mdx

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…egacy alias per code [Obsolete]; all examples, tables and three samples swapped; outputs sample wire-proven with assetOrder=n1

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…to syntax table (trailing h1 section removed), wire-verified; raw-resource ignores assetOrder - 'in query order' claim corrected

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…nding mismatch)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…, 404); queue link added via protagonist PR #1282, docs made released-truthful (JSON key removed, section reworded, sample annotated), twin release-gated

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…); dead link + orphaned PortalRole vocab class removed via protagonist PR #1284; no live-doc change needed

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…l EntryPoint cards resolved); PROV-01 closed (dropped per DIS-14), PROV-02 closed (presets already documented in delivery-channels.mdx)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…e the sprint; feasibility scout preserved in the card

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… text (incl. registering-assets, missed by the card); re-link notes in scratch keyed to the iiif.mdx port, which the PO has scheduled outside the sprint

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… asset-query endpoints (wire-verified, released routes); cross-refs in batch.mdx; boundary comment on protagonist #960 (batch LIST endpoints remain its scope)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ile negotiation documented on named-queries; same surface documented on single-asset-manifest (iiif-manifest v2/v3); all wire-confirmed on v1.13.2

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…points honour filterOnSpace; /allImages silently ignores it, wire-proven); correcting comment posted on the issue

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ls produced' was false (auth-location thumbs ARE generated, never served); wire-proven 404 behaviour documented instead; 'only serves open content' confirmed

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…gonist PR #1286, non-breaking, byte-identical output); last known ACC-07-class duplicate Order

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…d, headline entry), XC-07 cascade annotation, issues-rfcs session-4 outputs, completion marker

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@tomcrane
tomcrane merged commit 84c033e into main Aug 26, 2026
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