Tk10895 GroupB

repo: ~/Projects/tk10895-groupB · 9 commits · 0 in last 24h, 0 in last 7d ·

Search the build

9 commits indexed

  1. 58b6353 2026-09-16 TK-10895: George send script — fix set -e/pipefail guard + move secrets out of argv
  2. 47a6046 2026-09-11 TK-10895: vendor follow-up, table regenerated from verified data
  3. b90d32d 2026-09-11 TK-10895: Tranche C guards + the 139-product sibling hypothesis
  4. 75499b6 2026-09-11 auto-data-snapshot: 2026-09-11T10:49:53 (4 data files) — erica/tranche-c-candidates.json erica/tranche-c-held.json erica/tranche-c-live.json erica/tranche-c-ready.json
  5. d51d455 2026-09-10 TK-10895: mill reply resolves the slash-pair by plane (fabric/wallpaper)
  6. c5cad53 2026-09-10 auto-data-snapshot: 2026-09-10T13:02:09 (2 data files) — wf6-evidence.csv wf6-worklist.json
  7. e638c84 2026-09-10 TK-10895 Group B reprice/rollback: name magic numbers, set exit code on partial failure
  8. 92adb5c 2026-09-10 TK-10895: Quadrille vendor email — corrected body + human-approved send launcher
  9. 44e3deb 2026-09-10 TK-10895 Group B reprice: fabric-row cost -> mill WP-row cost, with rollback

Authors

Agents used

  • none detected

Skills used

  • /claude2
  • /code2
  • /pipefail1
  • /token1
  • /same-width1
  • /tranche-c-candidates1
  • /tranche-c-held1
  • /tranche-c-live1
  • /tranche-c-ready1
  • /wallpaper1
  • /roll1
  • /rollback1
  • /restore1

Creative ideas + design notes

Commits with substantial prose (≥120 chars) — the rationale behind each move.

58b6353 · 2026-09-16 · TK-10895: George send script — fix set -e/pipefail guard + move secrets out of argv
- Keychain/token fetches no longer abort under set -euo pipefail, so the
  explicit missing-credential checks actually run and report.
- Pass GEORGE_TOKEN/GEORGE_BASIC via env instead of argv so the send token
  and admin Keychain password aren't visible in ps during the send.
- Successful-send behavior unchanged; only failure-path diagnostics and
  secret transport changed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GCskP2LLkHeL4xp2yDUyQ7
47a6046 · 2026-09-11 · TK-10895: vendor follow-up, table regenerated from verified data
The hand-typed version had 3 of 6 rows false — 702521 is Aqua IV not Edo,
710321 is Brighton Reverse not Brighton, 717921 is Clementine All Over at 23in
not Des Gardes at 28in. It would have asked the mill to correct their pricing
using item numbers belonging to other patterns.

Rebuilt from sibling-flags.json under a hard gate (identical pattern name AND
identical width on both rows), then re-asserted every field against the sheet.
7/7 verified. Send stays an interactive confirm: George fails closed on external
recipients without a human-approval token and the agent must not extract it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
b90d32d · 2026-09-11 · TK-10895: Tranche C guards + the 139-product sibling hypothesis
Steve ungated; the build's own audit stopped it, which is the point.

Two guards the first sizer lacked, both proven by a negative test on a
known-bad input (Beau Rivage trips both):
  1. the sheet's Fabric/Wallpaper COLUMN is unreliable — mfr 708621 is typed
     Wallpaper while its Pattern reads 'Beau Rivage FABRIC' at the fabric cost
     $194, beside AP980-05 'Beau Rivage WP' at the real $136. The pattern-name
     suffix overrides the column.
  2. a cheaper same-pattern/same-width sibling means a likely fabric-row join.

Without these the sizer would have RAISED 6 correct Beau Rivage products from
$246.15 to $351.13, undoing today's verified fix.

Generalising guard 2 over the whole sheet finds 207 rows / 32 patterns where our
six-digit item number costs more than the mill's own code row; 139 are live.
$5,761 if the code row is the right join — recorded as a HYPOTHESIS and routed
to the vendor, not to a script: unlike Beau Rivage none of them carries an
independent falsifier.

Tranche C needs no writes: all 69 cohort-A products are already live and correct.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
d51d455 · 2026-09-10 · TK-10895: mill reply resolves the slash-pair by plane (fabric/wallpaper)
Erica Nyarko (Quadrille) 2026-09-10: 'First price is the fabric, the second is
the wallpaper $Fabric/$WP.' The mill sheet's own Fabric/Wallpaper column is the
selector, so the token is chosen per-plane and not per-pattern.

- live-by-pid.mjs   read-only audit of all 31 adjudicated SKUs, keyed by product id
- reprice-erica.mjs reversible fix for the 11 live overpriced rows (dry-run default)
- erica-live-audit.json verified live state

Overturns today's fill-down ruling: the 6 Wildflowers II WALLPAPERS took the
fabric token ($172) and are live $54.30/roll over. The corroborating siblings
that appeared to confirm $172 are both F/W=Fabric — right evidence, wrong plane.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016hho8N5fqKPc14Ec64LW9A
e638c84 · 2026-09-10 · TK-10895 Group B reprice/rollback: name magic numbers, set exit code on partial failure
Light behavior-preserving cleanup: named the 0.65/0.85 margin constants, the
>10 sellable-price floor, and the 600ms write pace instead of leaving them
as bare literals; set process.exitCode=1 when any variant write/restore
fails so a partial failure can't read as success to a caller or canary.
No pricing math, API calls, dry-run default, or read-back assert changed.

File tree

28 files tracked. Click any to browse the source at HEAD.

Other build journals

← Tk10663 Agentic Commerce  ·  all 4 projects  ·  Tk11438 Postgres Migration →

Export

commits.csv · feed.atom · project.json · commits.json

rendered in 1ms