Commit Graph

1748 Commits

Author SHA1 Message Date
Ed Langley ea119bd9d1 Merge pull request #209 from fiddlerwoaroof/fix/phg1-record-rewrite-tests
Give RecordRewrite's three untested branches a test that can fail (improvise-phg1)
2026-09-22 23:38:51 -07:00
Ed Langley 7767cee9b6 Merge pull request #200 from fiddlerwoaroof/collapse-fu/b5zh
improvise-b5zh: an outer group's header is pruned with its rows
2026-09-22 23:34:50 -07:00
Ed Langley de7037365e Merge pull request #188 from fiddlerwoaroof/wire2/2wu3
The inline editor commits by record identity, not viewport position (2wu3)
2026-09-22 23:34:23 -07:00
Edward Langley 7e1e8afba2 Pin RecordRewrite's clear arm at the renamed record (improvise-q2mq)
A blank edit on a measure a renamed drill row lacks must clear at the renamed
key. The phg1 sparse-row test covered only the write arm, so aiming the clear
at the unrenamed key left the workspace green. The reviewer's probe fails under
that rival and nothing else does.

Also corrects the phg1(c) evidence. The swap test cannot see the narrow rival
(eager clears, deferred writes). It does catch the wider one (eager clears and
writes).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 23:34:08 -07:00
Ed Langley 2a528884a7 Merge pull request #206 from fiddlerwoaroof/fix/lxg0-w1bu
improvise-lxg0/w1bu: a fresh session has no history; records cell kinds checked per column
2026-09-22 23:33:55 -07:00
Ed Langley ef743e926d Merge pull request #201 from fiddlerwoaroof/docs/agents-md-wave
AGENTS.md agrees with the wave skill; bd block superseded; audit scans .agents; gates from ci.yml
2026-09-22 23:29:37 -07:00
Edward Langley 4e451199af Merge gh/main into fix/phg1-record-rewrite-tests
Resolved context/test-evidence/command.md by keeping both appended sides.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 23:23:53 -07:00
Edward Langley 0ecb1d89a9 Merge gh/main (4b88084) into collapse-fu/b5zh
Resolved context/test-evidence/core.md: gh/main's version, with #191's
two improvise-t0ma entries, plus this branch's improvise-b5zh entry.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 23:22:44 -07:00
Edward Langley 141be9fca6 Review replies go on the PR thread; ADR PRs merge on the user's approval
- agent-rules "GitHub": authors reply on the PR to every finding they
  address (commit, or why declined); reviewers read existing reviews first
  with scripts/pr-reviews, answer every Codex review on its thread, and
  state the head SHA they reviewed. SKILL.md points reviewers there.
- AGENTS.md "ADR pull requests": numbered open questions, the user answers
  on the PR, "What the user decided", merge only on "Approved" (PR #122).
  SKILL.md "Shepherding" points to it.
- Fix a pointer to the renamed policy section that wrapped across a line
  break and so escaped the rename.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 23:16:48 -07:00
Edward Langley 8ba64c8ef9 Merge gh/main (4b88084) into wire2/2wu3
Resolved context/test-evidence/clients.md: gh/main's version, whose
improvise-w7qd/5kdr paragraphs continue the entry above the conflict,
followed by this branch's two improvise-0j0f/4img entries.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 23:14:23 -07:00
Edward Langley 32d5d8f7f3 Merge gh/main (4b88084) into fix/lxg0-w1bu
Resolved context/test-evidence/command.md: gh/main's version plus this
branch's three entries, kept ahead of gh/main's new JSON-import section.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 23:09:02 -07:00
Edward Langley 70c33bd3f3 Work is done when its PR has merged; one statement of it, pointed to
- User ruling: work is not done until it is in a PR and that PR has
  merged. Stated once, in AGENTS.md's repo-owned section outside bd's
  markers (renamed "Repository policy over the Beads blocks"); agent-rules
  "Do not merge" and SKILL.md "Shepherding" point to it.
- "Who owns what" no longer says kb facts are batched two sentences
  before saying they are not: repo-map lines are batched, kb facts are
  written as they arrive.
- improvise-8haj: the ID audit takes its file list from git ls-files
  (tracked + untracked, minus ignored), so build output such as
  harness/serve and other agents' worktrees are not scanned; grep -d skip
  passes over the .claude/skills symlinks.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 23:07:57 -07:00
Ed Langley 4b880846b9 Merge pull request #202 from fiddlerwoaroof/fix/6yvg-dz8c-json-float
Every JSON parser reads numbers exactly; derive the float_roundtrip check (improvise-6yvg, improvise-dz8c)
2026-09-22 23:06:31 -07:00
Ed Langley 4e5299f6d7 Merge pull request #198 from fiddlerwoaroof/fix/w7qd-ssoe-help-guards
Grid-move and help-row guards that the #180 re-review found blind (w7qd, ssoe)
2026-09-22 23:05:01 -07:00
Ed Langley 8c3b013c48 Merge pull request #191 from fiddlerwoaroof/collapse-fu/t0ma
improvise-t0ma: pin records_steps and drill_steps as steps
2026-09-22 23:04:35 -07:00
Edward Langley daa09e1f4f Merge remote-tracking branch 'gh/main' into docs/agents-md-wave 2026-09-22 23:04:21 -07:00
Edward Langley ccb517c610 Merge gh/main into fix/phg1-record-rewrite-tests
Resolved context/test-evidence/command.md by keeping both appended sides.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 23:04:12 -07:00
Ed Langley 966637cdb6 Merge pull request #204 from fiddlerwoaroof/fix/uo2p-drill-apply-order
Compose a drill's staged edits instead of replaying them in hash order (improvise-uo2p)
2026-09-22 23:03:06 -07:00
Edward Langley e829b66487 Give RecordRewrite's three untested branches a test that can fail (improvise-phg1)
Three RecordRewrite branches could be broken with the whole workspace still
green:
- the lone measure-less cell of an `o`-seeded row;
- a measure a sparse drill row has no cell for, which must be written at the
  renamed record;
- every row reading the model before any row clears it.

Each test is red against the rival the review injected and fails alone. No
production code changes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 23:00:08 -07:00
Edward Langley aadf5ddd35 Drop --locked from the float_roundtrip check: --no-deps never reads the lockfile
Review of #202 showed `cargo metadata --no-deps --locked` exits 0 against a
stale lockfile, so the flag promised a check it does not make.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 22:57:58 -07:00
Edward Langley 6b3b9f03de Merge remote-tracking branch 'gh/main' into fix/6yvg-dz8c-json-float
# Conflicts:
#	context/test-evidence/clients.md
#	context/test-evidence/command.md
2026-09-22 22:57:58 -07:00
Edward Langley afb3e471c9 Merge remote-tracking branch 'gh/main' into fix/lxg0-w1bu
# Conflicts:
#	context/test-evidence/command.md
2026-09-22 22:56:55 -07:00
Edward Langley 74d329d15f improvise-hoxy: names_its_column no longer accepts Derived on a formula-free fixture
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 22:53:58 -07:00
Edward Langley 9b9b1798a8 fmt
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 22:53:18 -07:00
Ed Langley b4f58e9c35 Merge pull request #187 from fiddlerwoaroof/fix/hzjo-determinism-law
hzjo: the determinism law, over every command and independent contexts
2026-09-22 22:52:22 -07:00
Edward Langley bcbb5591f9 Merge remote-tracking branch 'gh/main' into fix/lxg0-w1bu
# Conflicts:
#	context/test-evidence/command.md
2026-09-22 22:52:14 -07:00
Edward Langley 3cad9c2936 Merge commit '98d10ca5' into wire2/2wu3
# Conflicts:
#	context/test-evidence/clients.md
2026-09-22 22:51:46 -07:00
Edward Langley 5c50bf8780 Merge gh/main into fix/uo2p-drill-apply-order
Resolved context/test-evidence/command.md by keeping both appended sides.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 22:51:43 -07:00
Edward Langley 5be1306281 improvise-4img: test the clear variant; it is RecordMoved, not RecordGone
B clears the cell while A's editor is open, then A commits. The commit is
refused as RecordMoved. The store no longer holds the record, but
App::resolve_record falls back to the layout and still resolves it, and its
counter has moved. Under the claim-at-commit rival, the same commit is accepted
and re-creates the cell as 42. Corrects the evidence that reasoned RecordGone.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 22:51:05 -07:00
Edward Langley 691c6c69d1 Pin edit_target in the page's client surface (improvise-au6c)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 22:46:30 -07:00
Edward Langley 170d94807b Merge remote-tracking branch 'gh/main' into wire2/2wu3 2026-09-22 22:44:47 -07:00
Ed Langley 98d10ca591 Merge pull request #180 from fiddlerwoaroof/fix/help-keys-checks
Help and advertised-key checks that can see what they claim (wk18, 3t5x, 3ij0, jhdf)
2026-09-22 22:44:46 -07:00
Edward Langley cfcc9bff97 Correct the determinism law's width-guard and analyzer claims (improvise-b9f2) 2026-09-22 22:43:14 -07:00
Edward Langley de49716a41 Merge remote-tracking branch 'gh/main' into fix/hzjo-determinism-law
# Conflicts:
#	context/test-evidence/command.md
2026-09-22 22:42:42 -07:00
Edward Langley b22f6e5389 improvise-lxg0/w1bu: evidence, and command.md describes the fixed state
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 22:42:34 -07:00
Ed Langley fdc8e91383 Merge pull request #192 from fiddlerwoaroof/fix/jgzw-tile-virtuals
jgzw: keep _Index/_Dim tileable, and pin the offered set by name
2026-09-22 22:41:32 -07:00
Edward Langley f75b58af91 The drawn keys rows must equal what the builders asked for, in order (aszt)
A count let a bypass that also drops a real row pass; content does not.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 22:41:06 -07:00
Edward Langley 31fd2f5480 Merge remote-tracking branch 'gh/main' into collapse-fu/t0ma 2026-09-22 22:41:05 -07:00
Edward Langley 561cff479e Merge remote-tracking branch 'gh/main' into collapse-fu/b5zh 2026-09-22 22:39:51 -07:00
Edward Langley 9512a2db1f The grid-move walk stands far from every edge, so it sees magnitude (5kdr)
21x21 grid, 8x8 window, start (10,10): moves land at 10+d, page-scroll at
10+page_rows(8)*d, jumps at 0/20. grid_move's page rule is page_rows(),
which the test reads rather than restating. Doubled move-selection, a
one-row scroll-rows and a page-size-blind page-scroll each fail.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 22:39:36 -07:00
Edward Langley a9a5b3075a Merge remote-tracking branch 'gh/main' into fix/lxg0-w1bu 2026-09-22 22:39:18 -07:00
Ed Langley a2f3c8d3e5 Merge pull request #193 from fiddlerwoaroof/fix/view-history
improvise-lrrx/8nd9: view history does not survive a document swap, and a refused step leaves no frame
2026-09-22 22:37:55 -07:00
Edward Langley e5721b9d94 improvise-lxg0/w1bu: a fresh session has no history; records kinds checked per column
fresh_view points the new slice at the document's view instead of folding
a SwitchView from ViewState::default(), which recorded a visit to
"Default" that never happened. The records-grid enumeration now checks
each cell's CellId against its column's RecordCol rather than only that
it is Some.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 22:37:25 -07:00
Edward Langley 66398f163f Merge branch 'fix/help-keys-checks' into fix/w7qd-ssoe-help-guards 2026-09-22 22:37:19 -07:00
Edward Langley 3390ab0394 Merge gh/main into fix/jgzw-tile-virtuals
Resolves the append-at-EOF conflict in context/test-evidence/command.md by
keeping both sides: gh/main's version plus this branch's tile.rs section.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 22:32:54 -07:00
Edward Langley 92eefeec4b Merge gh/main into fix/uo2p-drill-apply-order
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 22:31:15 -07:00
Edward Langley bc08a13038 Compose a drill's staged edits instead of replaying them in hash order (improvise-uo2p)
ApplyAndClearDrill walked pending_edits, a HashMap, and applied each edit on
its own. A rename moves the row's cells, so a measure edit replayed after it
wrote the old key. That left a ghost record there and a stale value in the moved
record. A second rename on the same row always found nothing and was dropped.
Across rows, a swap lost one record's data in either order.

RecordRewrite::of builds each row's final record once. It reads unedited values
off the model before anything is written, and applies every rename to every
cell. RecordRewrite::merged puts every clear before every write, in snapshot row
order. The plain records path calls the same function with its one edit, so
rename_record_coordinate and the drill's own copy are gone (gotcha 19).

Reasoning: context/code/command.md, RecordRewrite.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 22:30:55 -07:00
Edward Langley 95bd593dbe Merge remote-tracking branch 'gh/main' into fix/help-keys-checks
# Conflicts:
#	context/test-evidence/clients.md
#	context/test-evidence/protocol.md
2026-09-22 22:30:19 -07:00
Edward Langley c1932094d0 Merge gh/main into fix/view-history; point the client-stack claim at improvise-lxg0
The evidence file is gh/main plus this branch's five entries, inserted at
their original anchor. command.md no longer claims a client's history
cannot hold a dead name: fresh_view seeds a phantom Default frame
(improvise-lxg0, not fixed here).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
2026-09-22 22:30:18 -07:00
Edward Langley 0825f9984d rustfmt the determinism law's width guard (improvise-e1sm) 2026-09-22 22:29:09 -07:00