summary

runs — gated story bundles
- S-B-253DEF-1656 freeze fixes: truthful `rowsChanged` + Waters fan-out decoupleready
- S-B-254One door out of `fisheries`: `unbindWaterIn` + a single row-set predicate (DEF-1672 + DATA_LAYER §9f)blockedawaiting S-B-253 merged
- S-B-249Dev test accounts and an account switchermerged
- S-D-334The saved copy remembers where it came from (core: origin ids, dedupe, saved state, stats exclusion, sign-in survival; folds `DEF-1623`/`DEF-1624`)merged
- S-D-336The save suggests the water and carries its lessonsmerged
- S-E-101Access points gleaned from implied cues, not just "this is the put-in"merged
- S-B-240Sign in with Apple becomes the only front door; phone OTP is retired.merged
- S-D-317Permission moments, mic & location.merged
- S-D-319App icon export + dark/tinted variants.merged
- S-D-318Plans table catches up with the entitlement revision, one build with `S-D-216`.merged
- S-D-216You-tab plan card: the four states the design added, same build as `S-D-318`.ready
- S-D-316Account deletion, the full path.merged
- S-F-15Publish the legal + support pages on `talewater.app`.merged
- S-F-08App Store subscription/IAP product configuration.merged
- S-F-06App Store listing assets.ready
- S-D-309Share sheet shows messaging apps onlymerged
- S-D-310Open a pin's coordinates in an installed map appmerged
- S-D-313The shared page's map opens full-screen, pan and zoommerged
- S-B-228Sync the day's hand-set-water lock and repair Cle Elummerged
- S-A-247LEAN-FIXmerged
- S-A-248LEAN-APPLYmerged
- S-D-286A place belongs to the water: the day view keeps every place, filters only catches and encountersmerged
- S-D-288One spot, one pin: same-day place observations within 25 m fold into one pin described by their feature datamerged
- S-D-287"Not a place": dismiss an extracted feature that is really narration, and teach extraction from itmerged
- S-D-284River order without a centerlinemerged
- S-D-285Isolate the pin layer from the map screen's re-rendermerged
- S-D-293The pin slide on zoom, done right: marks slide out of their group on every regroup, animated on the UI threadmerged
- S-D-276Phase B — the producer swapmerged
- S-D-274Phase A — the measurement harnessmerged
- S-B-197The A→B assertions (story zero)merged
- S-B-195the residue: identity-leaks tail (`DEF-1139`→renderer routed, `DEF-1141`, `DEF-1142`, `DEF-1143`, `DEF-1178`; the story itself merged in `BASH-9`, PR #2938, so this rides `fix/identity-leaks-tail-2026-09-03`, not a promotion)merged
- S-B-194the keep-current rule, template-form amendmentmerged
- S-B-192half (i): per-user consent keying (`DEF-1138`)merged
- S-D-250session to the keychain; debug queue out of backupmerged
- S-B-196A real centerline per water (the ladder's spine)merged
- S-D-256The ladder engine — pure, zoom-independent model + per-rung placement, with a perf budgetmerged
- S-D-257The Map tab renders the ladder, and the carousel becomes a carousel of the rungmerged
- S-E-65Delete the KV stage-event log; read Workflows' own step historymerged
- S-E-67Make silent extraction repair LOUDmerged
- S-E-66Real concurrency pool, parallel dedup, delete the nested inner retrymerged
- S-E-68Structured-output PILOT on the dedup callmerged
- S-E-69Structured-output extraction + fieldnotes + segment-boundary chunkingready
- S-E-29Re-tag / re-cluster existing stored learnings (backfill)ready
- S-A-123Make defect numbers allocatable and collisions mechanically impossible, then sweep the registermerged
- S-A-124e2e net fail-aggregation + drain the flow repairs behind itblockednone stop the e2e Maestro runner from fail-fast masking downstream flows — is **already shipped**. `.maestro/run-all.sh` already runs every wired flow independently and aggregates pass/fail into one summary (credited in its own header to DEF-453/DEF-431/ DEF-384, not this story's numbers); `package.json`'s `e2e` script already calls this runner, not the `for f in ...; do maestro test "$f" || exit 1; done` loop the Question above describes — that description is stale. Of the 9 defects claimed above: **DEF-200 is CUT** (verified moot, surface deleted, 2026-07-24); **DEF-233 was renumbered away** during the DEF-372 Phase B sweep to an unrelated DEF-470 audio-capture bug that won the number-collision — the original e2e-side DEF-233 claim's current identity is unclear and needs the `S-A-125` register-sweep to resolve, not this story; **DEF-230, DEF-173, DEF-284, DEF-174, DEF-088, DEF-220 do not exist as entries** under those numbers in the current register — likely stale/never-flipped or already renumbered elsewhere. **DEF-295 is the one exception — still genuinely OPEN and real** (a rollup-sheet rendering bug, unrelated to e2e fail-fast masking); it is NOT closed by this finding, stays in the OPEN register, and needs its own fix path separately. **Nate's disposition (chat, 2026-07-24, verbatim "1"):** mark this run member **closed-by-other-means / no action needed** — do not promote or build it. The DEF-233/DEF-230/etc. stale-ID confusion this finding surfaced is `S-A-125`'s (the deferred register-sweep) to actually resolve, not a new action item here
- S-B-67Honest recording state: the recording never liesblocked`PR #668 merged`
- S-D-111Observation-detail: Undo net + `MASTHEAD_CLEARANCE` validation (REDUCED 2026-07-31)merged
- S-D-112Water-map camera restore + carousel index correctnessmerged
- S-D-113Day-level Weather write pathmerged
- S-D-114June bug-batch re-validation passready
- S-E-60Adopt Nate's 7-item technique taxonomymerged
- S-B-16Apple Sign Inparked
- S-B-17Phone + OTP + phone-anchor linkingmerged
- S-D-27Onboarding / sign-in flow screensparked
- S-D-28Account-management screenparked
- S-A-94Wire the bug-intake triage pollmerged
- S-A-95Wire the autonomous auto-fix pollready
- S-A-96Surface auto-merged fixes in the CRM verification inboxblockedawaiting S-A-93, S-A-95 merged; coordinate with `S-A-93`. *(2026-08-29: the delivery target is gone — `S-C-45` killed `inbox.html`, the `crm-inbox-drainer`, and the `crm_inbox_actions` apply path. See the kill-notes on the `S-A-96` and `S-A-93` Scoped entries; this member needs reshaping against a surviving surface before it can promote.)*
- S-A-107DEF-179 fix: bring bug-intake-triage back online, fencedmerged
- S-A-108Paid-call inventory & registrymerged
- S-A-109Account-level spend walls (per-provider hard caps)ready
- S-A-110Spend telemetry + alert busmerged
- S-A-111The unattended-paid-call rule, mechanically enforcedmerged
- S-A-112Minimal-context runner for scheduled agent jobsready
- S-A-113Andon cord: fleet halt flag + per-run watchdogs + auto-pullblockedawaiting S-A-112 merged
- S-C-38`curate-region` skill: browser-driven fly-shop registry sweepparked
- S-C-39Feed-freshness watchdog: detect dead/stale shop feeds before they show stale contentmerged
- S-D-149Honest empty-state + manual add-a-URL for waters with no shop coveragemerged
- S-A-133Close the design-time gate that covers zero capture files, and give the architecture second-read a condition-fired trigger (DEF-602)merged
- S-B-109Harness hardening: make the live capture bugs reproducible on a simulator before any of them is fixedmerged
- S-B-110Fix the two live silent-data-loss defects (DEF-603, DEF-604 — and DEF-597, which DEF-604 subsumes)merged
- S-B-111One evaluator: route every handler through a single decision function, behaviour held equivalentmerged
- S-B-112Delete the mute windows (event integrity)merged
- S-B-113Recompute every decision (decision integrity)merged
- S-D-139River gauge pin glyph: land the missing 2026-07-18 glyph handoff into the SORmerged
- S-D-141Permanent fixtures layer (landmarks + gauges)merged
- S-D-110Map-pin disaggregation: expand a rollup type-group → split its map pin into individual constituent pinsready
- S-D-170Merge gauges as first-class members into run/water pin consolidation (`fisheryId` on `RunRenderPin`)merged
- S-D-132Water scope becomes focus, not a filter: stop hiding off-water pinsmerged
- S-D-178Summary map thumbs: replace the live GL map with a static rendermerged
- S-D-125River gauge: multi-gauge list renders (day-crossed + Water "see all gauges")merged
- S-D-151Favorite a gauge (manual override + honest dead-fallback)merged
- S-D-126Stillwater level/temp on lake conditionsmerged
- S-D-180Define + surface a water subtype taxonomymerged
- S-D-179Retry mechanism for a failed Stop-time flow capturemerged
- S-D-81Consolidate the duplicated Anthropic client configmerged
- S-D-181`<EmptyState>` primitive (deferred half of `S-D-89`)merged
- S-D-182Waters card title: never wrap, abbreviate insteadmerged
- S-D-175Introduce a shared type-scale module in `src/constants/`merged
- S-D-48CI invariant: no unbounded network await in the pipelinemerged
- S-D-191Render hygiene, non-session-log halfmerged
- S-D-192Move `<DismissibleSheet>`'s gesture engine to RNGH + Reanimatedmerged
- S-D-111Observation-detail: Undo net + `MASTHEAD_CLEARANCE` validation (REDUCED 2026-07-31)merged
- S-D-184Fresh-install restore: gate entry or show an honest "restoring your data" statemerged
- S-E-70Single-source the harness prompts to the harness `.md` files (closes DEF-490)merged
- S-E-60Adopt Nate's 7-item technique taxonomy (closes DEF-363's taxonomy half only — see gap note)merged
- S-E-71Catch/encounter "how was it caught" metadata (depth, presentation, rig)merged
- S-E-72Write the technique-pin model into `EXTRACTION.md`merged
- S-E-73Hatch as a first-class extracted observation typemerged
- S-E-74Extracted-vs-persisted field auditmerged
- S-E-77Restructure the `field_meta` contract so it is expressible under grammar-constrained JSON-Schema outputmerged
- S-E-79Extract fishery-name canonicalization out of `transcript-extract.ts`merged
- S-E-78Species taxonomy passthrough + species-verbatim decompetemerged
- S-E-61Give feature and knowledge records the attributes their surfacing decisions actually needmerged
- S-E-52Objective feature capture bar + structured feature tagsready
- S-E-63Guard `notes` against invented entitiesblockedawaiting S-E-52 merged
- S-A-147Two-sided test authoring: red-first in `story-build` + boundary/Boolean-arm rulesmerged
- S-A-148Ratcheted mutation gate on the pure-logic tier, diff-scopedmerged
- S-C-45Kill the "Waiting on you" CRM surfacemerged
- S-A-165Give main's push-run test signal a consumermerged
- S-B-134Persist the upload-error KIND beside the messagemerged
- S-A-166One home and one queue client for the ops drainsmerged
- S-E-87One binding mechanism for cross-runtime extraction contractsmerged
- S-B-139Build the two owed structural detectors (S-B-133 split 1; build FIRST)merged
- S-B-140Render the honest status that already exists (S-B-133 split 2)merged
- S-B-141Shrink the device status machine; end the `complete` overload (S-B-133 split 3)merged
- S-B-142DEF-946 verdict honesty (S-B-133 split 4; joined 2026-08-30)merged
- S-A-168tools/lib shared plumbing + settled-diagnostic deletion (BDB-4)merged
- S-D-210Swipe-gesture consolidation onto ReanimatedSwipeable (BDB-1)merged
- S-B-136One geometry home, turf + web-mercator (BDB-2)merged
- S-B-137One retry/timeout/sleep home (BDB-3)merged
- S-B-138Store factory generalization (BDB-5)merged
- S-B-143Entitlement data layer (OUTFITTER-1)merged
- S-B-144Server enforcement at mint (OUTFITTER-1)merged
- S-D-211You tab (OUTFITTER-2)merged
- S-D-212Plans screen (OUTFITTER-2)merged
- S-D-213Gated console + Quick Note rename (OUTFITTER-2)merged
- S-C-49CRM entitlements admin (OUTFITTER-3)merged
- S-B-145RevenueCat end to end (OUTFITTER-4)merged
- S-B-146Server: grants, verified ingest, one processing claim (DELIVERY-1)merged
- S-B-147App, additive: grant inventory, seal-time upload, all-pending Stop, outcome ledger (DELIVERY-1)merged
- S-B-148Shadow period, deterministic scenarios, duration-scaled alarms (DELIVERY-2)merged
- S-B-149Delete the ladders (DELIVERY-3)merged
- S-D-219Sessions-list status derived from evidence (DELIVERY-3)merged
- S-B-204THROUGH-1: the six structural closes with fault-injection testsmerged
- S-B-205THROUGH-2: the device pass, measured (13 rows + 2)ready
- S-B-206THROUGH-3: honest `processed`, owned recovery, the redrive policymerged
- S-B-207THROUGH-4: the executable ownership matrix, row-before-capture, the hidden statesmerged
- S-B-208THROUGH-5: enforced limits, the deletion pass, the re-grademerged
- S-B-179Retire the legacy delivery routes and the server-side holds (THROUGH-5, second member)merged
- S-B-216ARRIVE-1: Ready means ready — six truth fixes, OTAmerged
- S-B-217ARRIVE-2: No door stays closed — delivery keeps moving without the app's helpmerged
- S-B-218ARRIVE-4: One Stop owns one session — the native bundle, build 45merged
- S-B-219ARRIVE-5: Measured on the phone — the rows on ~~build 45~~ build 49 (2026-09-14)ready
- S-B-220ARRIVE-6: The open segment survives a killblockedawaiting S-B-219 merged
- S-D-248Sync wakes the screenmerged
- S-A-212The data layer gets an ownermerged
- S-C-57Account erasure: deleting an account deletes the account's data (DATA-1)merged
- S-B-178Honest terminal on the server (DATA-2)merged
- S-B-182A manual binding is an anchor, not a suggestion (BASH-3)merged
- S-B-183One definition of membership; a pin's stated water (BASH-3)merged
- S-B-186The current-water lesson tag is derived at read time (BASH-3)merged
- S-B-185The split-off day arrives named: OSM identity + delete tombstone (BASH-11)merged
- S-B-190Repair the days already mis-bound: the `_v2` one-shot re-file (BASH-11)merged
- S-B-188Check in the name-gate corpus (BASH-4, scope item 1)merged
- S-B-123Discriminated absence, and the fallback carries its DISTANCE (BASH-4, scope item 2)merged
- S-B-198NWPS goes marker-only (BASH-4, scope item 3)merged
- S-B-187One resolution point, one writer (BASH-4, scope item 4)merged
- S-B-189extend the existing envelope-shape guard, half (a) only (BASH-4, scope item 5)ready
- S-B-122Stamp the resolver for BOR and USGS (BASH-13 / SWEEP-10)merged
- S-A-178Pin staleness watch (`DEF-642`)merged
- S-A-162Ring-1 flows into a scheduled/CI signal (`DEF-752`)merged
- S-A-227retire the 14 dead one-shot diagnosticsmerged
- S-A-229price the ratchet tighten-on-improve policy at 8-way concurrencymerged
- S-A-219fix `readiness.py`'s false NO-GO on `closes_acceptance_testable`merged
- S-D-260Un-ladder the map; master and day scope return to their pre-ladder render.merged
- S-D-261The collapse pass: river-order grouping over chainage, access-wins, no repulsion.merged
- S-D-262The map draws the collapse, the rail agrees: one card per pin, counts move to the sheet.merged
- S-D-264The fish filter moves to the thumb: retire the masthead catch toggle.merged
- S-D-263Tap a merged pin and it opens: progressive disclosure, centred, never slammed to the floor.merged
- S-B-214One recovery owner for capture: retire the family `src/lib/delivery/merged
- S-B-215One claim rule for day↔water identity: the reconcile ladder has not found bottom.merged
- S-D-266Decompose `usgs-streamflow.ts` (really: one importable home for the same-water selection policy).merged
- S-D-300The selection holds the pin you chose across a zoom, and the card row stops spinningmerged
- S-B-235Raw audio and raw GPS expire 30 days from capture, server side.merged
- S-B-231Raw audio and raw GPS expire 30 days from capture, device side.merged
- S-B-232Deletion is complete, synced immediately, and bounded in time.merged
- S-C-59the CRM's debug and tuning copies follow the source (existing Scoped entry, EXTENDED 2026-09-08).merged
- S-B-233A journal entry is closed until it has been shared, and only its owner can mint a link.merged
- S-B-234The outside-AI permission is recorded, withdrawable, and honored by every upload.merged
- S-D-306Legal links, a way to reach us, and the outside-AI permission screen.merged
- S-D-307The shared page and the app say the true thing about links and expiry.merged
- S-C-61Operator listening is gated to a reason and logged.merged
- S-A-237Founder-owned test data is declared, fenced, and never grows customer content.merged
- S-F-17Privacy operations: provider dossier, assessments, runbooks, and the facts the policy rests on.merged
- S-F-16Publish the Privacy Policy and Terms at talewater.app and wire the App Store fields.merged
- S-F-18Counsel packet, synthetic end-to-end verification, and the readiness map closed.merged
- S-E-103Spot naming at extraction.merged
- S-B-239Stored name, container membership, group extent + backfill.merged
- S-D-311Card titling, Stretch, count, selected pin never folds.merged
- S-B-264Nothing settles onto a dead runtime: a null guard where Expo dispatches onto the React schedulermerged
- S-B-265A bounded water lookup: measure the Overpass body at the 2026-09-16 kill site, then cap itmerged
- S-B-266The phone reports its memory footprint beside its CPU lagmerged
- S-D-349Days and observations are always pinned; an unidentified water is shown as "Unnamed Water"merged
- S-B-267Recorder housekeeping: the snapshot is written at boundaries, the heartbeat leaves the relevant ring, and the slow handoff path if it falls out cheaplymerged
sprints — brief files
- DELIVERY-1Recording delivery, one job per side: the server contract and the additive app pathactive
- SEE-1Know it worked, without being toldactive
- SOAK-1Don't get bit againactive
- SWEEP-7the day-binding tail: the third defect on one predicate, and what BASH-11 leavesactive
- ARRIVE-0ARRIVE-0ready
- ARRIVE-5Measured on the phone: the rows on build 45, and what the OS actually does after a force quitready
- ARRIVE-6bThe open segment survives a kill: build the container the read choseready
- BASH-0BASH-0ready
- BASH-1the cheap six, and two register flipsready
- BASH-35The gauge subsystem read: one resolver for "which gauge is this water's"ready
- LEAN-0LEAN-0ready
- ONEHOME-9One door out of fisheries: the freeze stops, then the delete convergesready
- OUTFITTER-4Real money: RevenueCat, the trial, and the sandbox walkready
- PARK-1Backlog parking sweepready
- PRIVACY-2deletion is complete, immediate, and boundedready
- SWEEP-0SWEEP-0ready
- ARRIVE-1Ready means ready: six truth fixes, over the airmerged
- ARRIVE-2No door stays closed: delivery keeps moving without the app's helpmerged
- ARRIVE-3One recovery owner, built: the family ONEHOME-7 chose, and everything that lands inside itmergedThe premise correction is the result, and it changed the shape of the work. src/lib/delivery/** was never billed as replacing src/lib/recording/orphan- — S-B-149 retired the uploa…
- ARRIVE-4aOne Stop owns one session, the Swift half: built now, held until the OTA lane is clearmerged
- ARRIVE-4bOne Stop owns one session, finished: the start/stop pass, the merge, and build 45merged
- ARRIVE-6aThe container read: can the open segment survive a hard kill?merged
- BASH-10the data layer's leftovers: three things that never get reapedmerged
- BASH-11the water that comes back, and the days already wrongmerged
- BASH-12one device, two accounts: the rest of the waymerged
- BASH-13stamp the resolvermerged
- BASH-14Destructive ownership — service-role deletes re-join to the ownermerged
- BASH-15SQLite foundation — the per-transaction connection is configured, retried, and quiescedmerged
- BASH-16Day preservation — a day with real content is never merged away or sweptmerged
- BASH-17Erase and retirement — erase reaches every running Workflow; retirement keeps its tombstonemerged
- BASH-18CRM erasure closure — an erased account's transcripts cannot re-enter the ops storemerged
- BASH-19Complete pipeline output — a transient failure never becomes a silent successmerged
- BASH-2the doors that do not lockmerged
- BASH-20Attempt ownership — a re-driven recording's state is keyed by attemptmerged
- BASH-21Pipeline money — every paid model call reaches the cap, with a written settlement contractmergedAll three bold items.
- BASH-22Grants — minting is atomic, replay never re-serves a consumed grantmerged
- BASH-23Capture truth, launch, and updates — REC is never shown over a dead mic (NATIVE)merged
- BASH-24Native completeness and time — the seal, the manifest, and placement agree (NATIVE)merged
- BASH-25Delivery ownership — recovery selectors are scoped, adoption evidence survivesmerged
- BASH-26Device retention — the 30-day raw-audio promise holds for every armmerged
- BASH-27Account boundaries — consent, sign-out and restore are keyed to the right accountmerged
- BASH-28Field Notes contract — consent at the seam, freshness by fingerprint, one document shapemerged
- BASH-29Derived writes, sync and backfills — a server write never overwrites a newer local editmergedBoth BOLD items and both pre-submission items, on fix/bash-29-derived-writes-sync-2026-09-14.
- BASH-3a day knows which water it was onmerged
- BASH-30Sharing correctness — a share never carries what the sender framed outmerged
- BASH-31Map actions — every tap on the pin sheet and the calendar does what it saysmerged
- BASH-32Truthful reads — a screen never claims emptiness it cannot provemerged
- BASH-33Water identity — the gauge on the card is on this rivermerged
- BASH-34Candidate acceptance — the evidence session that closes S-B-243merged
- BASH-4one answer for "what is the flow on this water?"merged
- BASH-5the build loop's own bugsmerged
- BASH-6what the extraction says, and what the day showsmerged
- BASH-7the delivery lane, and knowing when it breaksmerged
- BASH-8the long tail: capture, migrations, and the debt that stopped being urgentmerged
- BASH-9one device, two accounts: whose data is this?merged
- BEARINGS-1The map, corrected: un-ladder, then collapsemerged
- BEARINGS-2the build-45 device walk: five map defectsmerged
- CREEL-1Server money & secretsmerged
- CREEL-3Sync integritymerged
- DATA-1Account erasure: deleting an account deletes the account's datamerged
- DATA-2Honest terminal on the servermerged
- DATA-3Sync wakes the screen; the data layer gets an ownermerged
- DATA-4Per-file migrations: two stories can add a schema step without either renumberingmerged
- DEEP-1Which water, which day: the binding layer's first system-scoped readmerged
- DEEP-2River flow and gauges: the system-scoped read that has been owed since registrationmerged
- DEEP-3Identity and the second user on a devicemerged
- DEEP-4Security and privacy posture, read as one systemmerged
- DEEP-5The same logic in three runtimes: app, worker, CRMmerged
- DELIVERY-2Measure it: shadow comparison, deterministic device scenarios, alarmsmerged
- DELIVERY-3Delete the ladders; status derived from evidencemerged
- DESIGNDesign daymerged
- HARVEST-1bind the one live pair, drop the dead chain, rule on the gatemerged
- HONEST-1Pin the semantics, render the honest statusmerged
- HONEST-2Shrink the device status machinemerged
- LEAN-APPLYRemove the measured wastemergedPhase A (1–4): tools/spend/rank-steps.mjs + test + step-evidence.json; the inspection record Reviews/LEAN-APPLY-inspection-2026-09-14.md; the four slow shell tests made hermetic (…
- LEAN-FIXMake the lean path truthful and cheapmerged
- LICENSE-1The ship gate: what actually stands between us and a real releasemerged
- LICENSE-2Filings: fire the long clocksmergedS-F-02 — the trademark package, submit-ready (PR #3161, verified on main by content). The 2026-06-05 package was not merely stale; three separate things in it were wrong, and each…
- LOGBOOK-1Multi-water days: prove the general case, then let the user fix itmerged
- LOGBOOK-2Techniques facet becomes realmerged
- LOGBOOK-3Session Log performance + freshnessmerged
- LOGBOOK-4Conditions truth-tellingmerged
- NETMEND-1Make the e2e net honestmergedS-A-137 — the e2e net can no longer report a false green. Merged in #2542.
- NETMEND-2Release automation + crash alertsmerged
- NETMEND-3Operator eyesmergedBoth scope items, in one PR:
- ONEHOME-1Re-home the ops drains behind one queue clientmerged
- ONEHOME-2The tools/lib home, and delete the settled diagnosticsmerged
- ONEHOME-3Swipe rows onto the one bound swipeablemerged
- ONEHOME-4One geometry home, one retry homemerged1. S-B-136 — one geometry home. Bound @math.gl/web-mercator (one runtime dep, pure JS, app-only) for the camera; collapsed track-segmentation.metresBetween, the thrice-restated M_…
- ONEHOME-5Eight stores onto the one factorymerged
- ONEHOME-6One home for the flow-selection policy, and a projection that agrees with itselfmerged
- ONEHOME-7One recovery owner for capture: retire the family, don't add beside itmerged
- ONEHOME-8One claim rule for day↔water, or an honest answer about why notmerged
- OUTFITTER-1Entitlement foundation: the table and the gatemerged
- OUTFITTER-2The three surfaces: You, Plans, and the gated consolemerged
- OUTFITTER-3The operator's hand: entitlements admin in the CRMmerged
- PRIVACY-1raw audio and raw GPS expire 30 days from capturemerged
- PRIVACY-3sharing is closed until shared, and the pages say the true thingmerged
- PRIVACY-4the outside-AI permission, the legal links, and the manifestmergedBoth members, as one two-story unit that is only coherent together.
- PRIVACY-5operator listening is gated, and founder test data is fencedmerged
- PRIVACY-6privacy operations: the facts the policy rests onmerged
- PRIVACY-7publish, verify end to end, close the mapmergedS-F-16. https://talewater.app/privacy and /terms now serve the legal text. Both URLs used to return the homepage — Cloudflare Pages with no 404.html answers index.html for every u…
- REVIEW-RETIRED-1The queue becomes a log; the bubble becomes a shortcutmerged
- S0Trust the groundmerged
- S0bS-GHOST Batch 1 (register re-validation)merged
- S1Capturemerged
- S2Status & pipelinemergedAll ten in-scope entries closed — DEF-688, 691, 655, 704 (2a); 692, 693, 701, 712, 344 (2b); 749 (2c). tsc clean, node 4555/4555, jest 780/780. JS-only, ships OTA.
- S3Extractionmerged
- S4Map & geomerged
- S5UI polishmergedPre-flight correction to the scope list. DEF-788 (listed in 5c) was already FIXED and merged (#2276) the day before this sprint's planning session — dropped from the working set,…
- S6Merge & OTAmerged
- S7Allocationmerged
- S8Guards & hooksmerged
- S9Test-netmerged
- S10Register & doctrinemerged
- S11The allocation familymerged
- SA1Dead code & dead guarantees (audit A1)merged
- SA2One home: process machinery (audit A4 + build-loop copies)mergedAll three scope items, plus corrections that fell out of building item 1 correctly:
- SA3One home: product code (audit A5 + the unbounded fetches)mergedTier 1, all four items, plus the Replicate cluster the Carry-forward gated:
- SA4One schema path, one column owner (audit A2)merged
- SA5Map camera authority (audit A3)merged
- SB0Register truth (the bug bash's ground)merged
- SB1Gates & ratchets — the gates that punish good workmergedAll six, in the brief's mandated order (DEF-853 before DEF-847).
- SB2Parsers & guards — the tools that read our own docs wrongmerged
- SB3Branch & merge lifecycle — the proofs we merge onmerged
- SB4The shared Mac — admission control and worktree hygienemerged
- SB5Pipeline lifecycle — where a recording can still be lostmerged
- SB7Extraction — the eval net and what it is actually gradingmerged
- SB8App surfaces — map, day binding, and the local databasemerged
- SB9Doctrine & observability — and the 3,000-word wallmerged
- SB10Allocators & schema contention — the single-line bottlenecksmerged
- SB11Deploy & schema apply — the steps that silently do not runmerged
- SB12The test net — flows that are green because nothing runs themmerged
- SC0Register truth II — finish what SB0 could notmerged
- SC1Status honesty — the app talked Nate out of a live recordingmerged
- SC2Capture & pipeline — the paths that still lose a recordingmerged
- SC3Extraction — contract drift, recall, and one privacy leakmerged
- SC4Release train, guards & the test netmerged
- SC5Allocators, schema & doctrine — the slow structural onesmerged
- SC6App surfaces — the visible remaindermerged
- SD1The strand: a recording no actor could finishmerged
- SD2The transcript the phone could never fetchmerged
- SD3The app telling the truth about whether it is recordingmerged
- SD4Day surface: catches missing from the map, a gauge on the wrong river, and a list that only looks dedupedmerged
- SD5Gates that lie: green when idle, red when fine, and one that reads a stale treemerged
- SE0Register truth: twelve ghosts, two corrections, and the notes that mislead sizingmerged
- SE1Pipeline evidence: the runs that lied about finishing, and the spend they hidmerged
- SE2Capture custody and consent: the export that eats its sources, and the gate that defaults to yesmerged
- SE3Day & water surfaces: honest absences, an overlap, and the gauge list cut too earlymerged
- SE4CI health: the flake that bricks main, the workflow that never once succeeded, and three zombiesmerged
- SE5Guards that misreport: seven small liars and one real design forkmerged
- SE6The claim ledger grows up: remote-blind, immortal claims, and a minter that doesn't lookmerged
- SE7Audit riders and the GAPS register: cheap confirmed closes, two unfiled stories, and six stale premisesmerged
- SEE-2Crashes reach youmerged
- SEE-3App-side usage eventsmerged
- SEE-4One build carries the safety net and the truthmerged
- SF0Register truth: three closes, eighteen half-true headers, seven briefs that say IN FLIGHT and are notmerged
- SF1main's sensors: the red that cannot clear itself, and the gates that report the wrong reasonmerged
- SF2The PR chokepoint: one script that must emit the marker, read the claim, and run without ghmerged
- SF3Allocators, ledgers & registries: the race that recurred on this set's own commitmerged
- SF4Doctrine & defs: the gate line that reads backwards, an "Owns" that is not custody, and the review that never subtractsmerged
- SF5Live-flow gauges: the fork guard that reads the town, the "ABOVE" clause that admits the wrong water, and the dam reach with no endmerged
- SF6App surfaces: two NaN guards, a probe that eats its capture, and the day that never re-filesmerged
- SF7Pipeline & workers: the complete-with-nothing verdict, the live capture reported stuck, and the Worker nothing deploysmerged1. Item 1 — DEF-1058. Verified closed BY CONTENT on origin/main, as instructed, and skipped: isSameWater at the water-page boundary (water-facets.ts) and the mirrored deriveApplic…
- SF8Extraction: the recall fixture that was never cut, three goldens two prompts behind, and one fly under five namesmerged
- SF9Native: the dead-man's switch that was fully specified six days ago, riding the build a held PR is already waiting formergedScope item 1 — DEF-279, the process-kill dead-man's switch. Built, verified on a sim, merged in #2835.
- SG2S-GHOST Batch 2 (register re-validation)mergedAll 30 entries re-validated against current code/docs (never the entry's own prose) with a cited SHA, git log -S result, or file:line per disposition. Final tally:
- SG3S-GHOST Batch 3 (register re-validation)mergedAll 52 OPEN entries in the 651–719 range re-validated against current code/docs (never the entry's own prose) with a cited SHA, git log -S result, or file:line per disposition. Fi…
- SG4S-GHOST Batch 4 (register re-validation)mergedAll 61 OPEN entries in the batch (720–800 range plus the 13 listed extras, count resolved at sprint start) re-validated against current code/docs with a cited SHA, git log -S resu…
- SHARE-1Test accounts on Nate's phonemerged
- SHARE-2The saved copy remembers where it came frommerged
- SHARE-3The save suggests the water and carries its lessonsmerged
- SOAK-2The day after a long recordingmerged
- SUBMIT-1the app's submission surfacesmerged
- SUBMIT-2the store sidemerged
- SUBMIT-3Sign in with ApplemergedS-B-240 — Sign in with Apple is the only front door. The Welcome screen is one ink button with Apple's glyph; the phone → SMS → code path is deleted, not hidden (its context metho…
- SWEEP-1the pool, and the three things that turn main redmerged
- SWEEP-11the surfaces tail: finish the deletion HARVEST-1 could not verify, and the states that wait on a rulingmerged
- SWEEP-12the build-loop long tail: what BASH-8 never reached, and the four scope callsmerged1. S-A-178 — the vendor pins get one home, and something finally asks the vendor whether they still exist (#3120). Closes [[DEF-642]]. Three of the entry's premises were stale and…
- SWEEP-13the per-recording audio exit, after THROUGH has settled what a layout ismerged
- SWEEP-2the flow chain, part 1: the absence says why, and NWPS becomes a markermerged
- SWEEP-3the security tail: flip what BASH-2 shipped, close what it left openmerged
- SWEEP-4the delivery tail: the pill that points at nothing, the mark nobody reaps, and the native pairmerged
- SWEEP-5the flow chain, part 2: one writer, the guard at the parse boundary, and the word that spells "below"merged
- SWEEP-6the registers tell the truth: union merges, the claim ledger, and four stragglersmerged
- SWEEP-8the identity tail: two keys, one cut, and the front doormerged
- SWEEP-9the extraction tail: two lints, one flip, and two things only Nate can pay formerged
- THROUGH-1The six structural closes, each with a fault-injection testmerged
- THROUGH-2The device pass, measured: thirteen rows plus two, on one buildmergedThe device pass ran and is written into CAPTURE_RELIABILITY.md under a heading that says MEASURED, with the evidence tuple per row and every deviation recorded rather than hidden.
- THROUGH-3processed means complete, and every exhausted failure has an owner who is not the usermergedThe result that matters is a reversal that did not happen. The brief scoped this sprint to reverse AUDIO_PIPELINE.md §4's "attempt operator-bumped only, never incremented by code"…
- THROUGH-4One owner per state: the executable ownership matrix, and the states the phone was hidingmerged
- THROUGH-5The limits become real, and the additions are paid for with deletionsmergedS-B-208 — the limits become real. Disk admission is enforced at Start (the predicate had been exported, correct and unit-tested since S-B-147, called once to write a ledger field,…
- TIGHTLINES-1Close the contract, make drops loudmerged
- TIGHTLINES-2Species truthmerged
- CREEL-2Capture coverage reaches the userparked
- HONEST-3Diagnose the recording that liedparked
- LEAN-1Truthful instrumentsparked
- LEAN-2One report, plain handoffsparked
- LEAN-3Rules that prove what they claimparked
- LEAN-4The machinery censusparked
- LEAN-5The normal path, shortenedparked
- LEAN-6Lanes and dedupparked
- LEAN-7Suite trimmingparked
workstreams
show 82 ideas tagged [A]
show 48 ideas tagged [B]
show 22 ideas tagged [C]
show 149 ideas tagged [D]
show 67 ideas tagged [E]
show 6 ideas tagged [F]
open questions
open audit findings
2open / deferred audit findings — detail & trend on the Weekly Business Review↗open gaps
G-07 Diary Fisheries axis still reads diary_entries.fisheries strings, not fisheries.id FKs Open
Status
Open
Expected next story
Diary edit-affordances story (post-S-21).
G-08 On-device VAD / speech-only upload not implemented (native audio) Open
Status
Open
Expected next story
Real-time chunked audio processing ([B] Unscoped 2026-06-05).
G-11 Dev-only nightwater/graphite dark-variant toggle not ported to RN Open
Status
Open
Expected next story
A small D (or dev-tooling A) story once the design side hands off full nightwater/graphite RN token sets — then the toggle is a dev-tools-panel selector wiring use-theme to pick Slate/Nightwater/Grap…
G-12 Gauge selection omits the major-tributary-confluence filter Open
Status
Open — **and this entry is now the ONE home for this finding (SE7,
Expected next story
A D refinement that adds a stream-order/VAA-backed "no major intervening confluence" guard (escalate the existing logged name-mismatch signal), built only if a real water proves the nearest-mainstem…
G-13 Technique vocabulary is closed on the map and open on the Day surfaces, so techniques are not comparable across days Open
Status
Open
Expected next story
TBD — no story is proposed and none is implied. A