Skip to content

fix: correct the facts that the ASD-STE100 rewrite left open - #37

Merged
sstriker merged 15 commits into
mainfrom
docs/open-facts
Nov 2, 2026
Merged

sstriker merged 15 commits into
mainfrom
docs/open-facts

Conversation

@sstriker

@sstriker sstriker commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

#35 listed facts in the documents that were wrong before the rewrite. This change corrects them. I checked each one against the code first. Some of the same errors were also in messages, help text and comments, so this change corrects those too. The first version of this description listed three facts as open. This version also corrects the first two. The third is a fault in the code, and #41 corrects it.

Where Before Now Evidence
local/README.md "One launcher serves eight harnesses" ten harnesses the table has ten rows and command; Harness in crates/sandbox/src/lib.rs
local/README.md "Grok is a destination, not a harness" xAI is a destination, and Grok Build is a harness of its own Harness::Grok
local/README.md a launch with no handoff exits 4; later, such a launch "no longer exits 4" both are true: an outbox note that the launcher files counts as a handoff, and a failed harness gives its own exit code crates/memory/src/work.rs:194, STOPPED = 4
local/README.md the gateway "is not connected through yet" on wslc --auth gateway and --server-auth gateway run a gateway in the VM, which replaces LLMAO_URL and LLMAO_KEY wants_gateway, gateway_up, egress_env in crates/memory/src/wslc.rs
local/README.md "a third of the time and tokens" less than a tenth of the time and less than a third of the tokens, with the figures 34 against 391 seconds, 294k against 978k tokens, on the same page
local/README.md no flag for the model of amem replay; no text for amem quarantine drop --model; the gateway by default; --provider with --auth key. Drop deletes the held write and its verdict replay::retarget; release_quarantined(id, false)
README.md did not say where the PAT goes, or that a launch needs --auth gateway the PAT goes in LLMAO_KEY; the default is --auth subscription; --server-auth gateway; the key of the gateway on wslc crates/memory/src/main.rs:315, crates/memory/src/credentials.rs
images/harness/README.md, Dockerfile, image.yml "seven of the eight harnesses" and "the memory binary" nine of the ten, and Python; the amem binary at /opt/memory/memory; no Antigravity. The workflow stages the file as memory, and a comment says why package.json (seven), pi and Muse Code in the Dockerfile; COPY memory /opt/memory/memory
docs, messages, help text, comments a memory command, memory.exe, "the memory binary" amem, amem.exe. Inside the sandbox and the image, the file is /opt/memory/memory name = "amem"; INSIDE_MEMORY
crates/memory/src/wslc.rs the gateway message named only --auth gateway it names --auth gateway and --server-auth gateway wants_gateway
scripts/seed-corpus.py ran a memory command by default, which does not exist runs amem by default
crates/sandbox/src/lib.rs "Eight harnesses are known" ten, with rows for Muse Code and pi setup_muse, setup_pi
docs/reference-stack.md "the compose file above", which does not exist; "So far, it runs Claude Code and Codex" the deployment is planned and has no compose file yet; the sentence about two harnesses is removed
docs/reference-stack.md a crate table with crates that do not exist the table stays the plan, with a new column for what is in crates/ today, and a list of the crates that the table does not name crates/
docs/harness-containers.md no dependabot.yml in .github/ #12 added it, for the actions only .github/dependabot.yml
docs/demo-narrative.md, act 10 the export holds 309 entries, but 304 live and 4 superseded are 308 309 is correct. The text names the parts: the 304 live entries, the new public note, and the 4 superseded entries. Act 10 and its script say "You write one new note, marked public" the steps of act 10 on a record seeded from the same files
evals/demo.toml, asf-pressures asked about a part that does not exist, and expected "five" asks about "What the Foundation taught the design", and expects six. The pattern rejects a 6 that is a section number, a link anchor, the end of a range, or in a list of parts the table in part 10 of docs/seeding-a-foundation.md has six rows
evals/demo.toml, committers-gate expected "committers" expects named people that the domain's policy authorises. The pattern rejects "the PMC", "committers", and named people under a different policy part 6 of docs/seeding-a-foundation.md
golden/docs.toml seven answers named headings that do not exist now. Six questions named no entry, and two found the wrong one the current headings. The trust-tiers question is now two questions: what the tiers mean, and how an entry moves up amem golden: keywords 15 of 15, question 15 of 15, stripped 14 of 15
docs/demo-narrative.md 6.1 and 8.1, PLAN.md, local/README.md results of runs on 9 and 12 October, given as current each says that its questions changed after the run
CONTRIBUTING.md ARGS='init /tmp/m --domain dom-me', which fails ARGS='init --root /tmp/m --domain dom-me' amem init takes no path
AGENTS.md "Whatever else lands in .claude/ stays ignored" .gitignore ignores two paths; commit nothing else from .claude/ unless it belongs to the repository .gitignore
AGENTS.md, scripts/docs-only.sh nothing reads the Markdown outside crates/ and taps/ the demo seeds its record from docs/ and examples/decisions/, the golden suite and the eval score against that text, and act 11 reads README.md. The text says what to run after such a change, and what to read in the output, because these commands do not fail on a miss scripts/seed-corpus.py, scripts/demo/11-limits.sh

Open

  • ci: check the Markdown the demo reads, on every change #42 adds a CI job that seeds a record from these files and checks the golden suites, the eval answers, and act 11. This change says what to run by hand until then.
  • review_by is written as a list of year and day, not as a date (crates/core/src/lib.rs:191). The demo record shows it: review_by: [2027, 29]. This change does not touch it.
  • An internal export made after an erasure holds the stub of the erased entry until amem log materialize runs. Act 10 runs it first, so the text of the act is correct.
  • The dependencies job fails on the wasmtime advisories RUSTSEC-2026-0422, 0423 and 0424. This change does not change Cargo.lock.

Checks

  • make check passes: 737 tests run, 737 passed.
  • Act 11 of the demo gives the same 33 lines from the old and the new README.md.
  • The two eval patterns were run against right and wrong answers. The new patterns reject each of these, and the patterns before them accepted it:
    • "The PMC: named people under the Foundation's voting policy."
    • "Named people on the PMC, under the release policy."
    • "Five; see paper §6"
    • "the notes have parts 1-6"
    • "Parts: 1) Why this test … 6) Trust and review"
    • "Parts: 1 Why this test, 6 Trust and review"
    • "Named people authorised by the release policy."

Adversarial pass

Eleven fresh agents attacked the branch, one after each push.

  1. The first pass found 13 errors in the first commit. Examples:
    • other scripts than act 11 read the Markdown;
    • on wslc, the gateway in the VM replaces LLMAO_URL, so the README text was wrong on Windows;
    • amem replay sends to the gateway by default;
    • messages and help text still named a memory command.
  2. The second pass found that scripts/seed-corpus.py failed when run by hand, that the new AGENTS.md text said to run a script that does not seed again, and more places that named memory.
  3. The third pass found that the act 6 command failed without HARNESS, and that the key of the gateway on wslc also comes from the root's credentials.env.
  4. The fourth pass found one more message that named memory, and the term "outbox note" missing in three places.
  5. The fifth pass found two more of each, and comments in the sandbox crate that called the binary "memory".
  6. The sixth pass found one sentence in AGENTS.md that named only local/.virtual-key as the place for the key of act 6. The act also takes LLMAO_KEY.
  7. The seventh pass found that the golden suite named headings that do not exist, that the committers-gate task expected the old answer, that the pattern for six was weak, and that the act 10 text did not match the script.
  8. The eighth pass found that "the PMC" passed committers-gate, that asf-pressures accepted a section number, that the seed instruction needed RESET=1, and that results from old runs had no caveat.
  9. The ninth pass found that the patterns rejected plain right answers, that the narrative date was 12 October, not 9 October, and that the trust-tiers question asked two things.
  10. The tenth pass found small errors of place and wording in the caveats, and the gateway message in wslc.rs.
  11. The eleventh pass found that committers-gate accepted any policy, that asf-pressures accepted a 6 in a link or a range, that the trust-tiers question rejected two right entries, the init example, and two caveats that were missing.

Each commit after the first answers the pass before it.

After the eleventh pass, Copilot found that committers-gate still accepted "named people authorised by the release policy". 50d97d2 corrects it. No pass ran after that commit.

Posted by Claude on behalf of @sstriker

sstriker and others added 7 commits October 29, 2026 22:22
#35 listed facts in the documents that were wrong before the rewrite.
This change corrects them against the code:

- the count of harnesses, and Grok Build as a harness;
- the exit code 4 of a launch with no handoff;
- the gateway on wslc, which runs in the session VM;
- the time and the tokens with the record, with the figures;
- the replay flags, and what quarantine drop does;
- where the PAT goes, and the default --auth;
- the harnesses in the image, and the binary name amem (amem.exe on
  Windows, /opt/memory/memory inside the sandbox);
- the planned crates of the reference stack against the crates today;
- dependabot.yml, which #12 added;
- what .gitignore ignores under .claude/;
- act 11 of the demo, which reads README.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
The pass found these errors in the first commit, and this commit fixes
them:

- Other scripts read the Markdown outside crates/ and taps/:
  seed-corpus.py seeds the demo record from docs/ and
  examples/decisions/, and the golden suite and the eval score against
  that text.
- On wslc, --auth gateway always uses the LiteLLM in the session VM,
  and it replaces LLMAO_URL and LLMAO_KEY. --server-auth gateway also
  uses the gateway.
- amem replay sends to the gateway by default. With --auth key,
  --provider must name the recorded destination.
- A note from before compaction also prevents exit 4.
- Under Seatbelt, the binary is at its host path.
- Messages, help text and comments named a "memory" command. The
  command is amem.
- The sandbox crate said eight harnesses. It knows ten.
- Wording: the timing figures, which table, which plan, and the
  spike file that is still there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
The second pass found these errors, and this commit fixes them:

- The replay bullet said that calls go to the same destination. With
  --auth gateway, they go to the gateway.
- seed-corpus.py ran a "memory" command by default. It now runs amem.
- AGENTS.md said to run the script that reads a changed document. The
  demo seeds its record only once, so the text now says to seed a new
  record and run the golden suite and act 6.
- On wslc, --server-auth gateway also starts the gateway in the VM.
  The text and two messages now say so.
- Doc comments and the headers of generated config files named a
  "memory" command. The command is amem.
- Wording: the verdict of a held write, the Muse flag, the web
  sessions, the Muse pin, the documents of the golden suite, and the
  key of the gateway on wslc.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
The third pass found these errors, and this commit fixes them:

- The act 6 and act 11 commands in AGENTS.md failed without HARNESS.
  They now give it, and say that act 6 needs the gateway key.
- The section on the gateway in the VM, the error message and the
  doctor text named only --auth gateway, and local/.env as the only
  source of the key. amem reads the key from the environment or
  credentials.env.
- Four more doc comments named a "memory" command.
- docs/terms.md says to write "outbox note" for what a hook leaves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
The fourth pass found these errors, and this commit fixes them:

- The error for a tap with no component said to run a "memory"
  command. The command is amem.
- Three more places in local/README.md said "note" for an outbox note.
- Act 6 needs a key for llm.apache.org, not for any gateway.
- The text and the error now say that the key file is the root's
  credentials.env.
- Comments in the Seatbelt backend, its profile text and the otel
  crate's description called the binary "memory".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
The fifth pass found these, and this commit fixes them:

- Two more places in local/README.md said "note" for an outbox note.
- Comments in the sandbox crate called the binary "memory".
- Act 6 says "skipped" only when there is no key. A key for another
  gateway makes it fail instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
The sixth adversarial pass found that act 6 runs with a key in
LLMAO_KEY too, not only with a key in local/.virtual-key.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
Copilot AI balanced review requested due to automatic review settings October 29, 2026 23:02

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Copilot review overview

4 open issues
What changed in this PR

Corrects factual and naming inconsistencies introduced by the ASD-STE100 rewrite across docs, scripts, and in-code help/messages—primarily around the amem binary name, harness counts, and gateway/WSLC behavior.

Changes:

  • Aligns documentation, comments, and help text from memory/memory.exe to amem/amem.exe, while clarifying the inside-sandbox path /opt/memory/memory.
  • Fixes documented operational facts (harness counts, Grok/xAI terminology, exit codes/handoff rules, gateway routing on wslc, replay/quarantine details).
  • Updates demo/supporting scripts and reference docs to reflect current behavior and repo structure.
File Description
scripts/​seed-corpus.py Defaults seeding command to amem and updates usage text accordingly
scripts/​fetch-wslcsdk.test.sh Updates safety comment to refer to amem.exe
scripts/​fetch-wslcsdk.sh Updates usage/docs to refer to amem.exe and destination directory
scripts/​docs-only.sh Clarifies what Markdown is read by crates vs. scripts (demo/golden inputs)
local/​README.md Corrects multiple launcher/harness/gateway/quarantine/replay factual statements
images/​harness/​README.md Updates harness-image contents description (harness count, Python, /opt/memory/memory)
images/​harness/​Dockerfile Updates top-of-file description to reflect amem launch and current image intent
golden/​docs.toml Updates run instruction to amem golden
docs/​reference-stack.md Clarifies planned deployment status and updates crate table vs. “Today” reality
docs/​harness-containers.md Updates Dependabot statement to reflect #12 and rewords historical note
crates/​wslc-api/​src/​dll.rs Updates DLL load error hint to mention amem.exe
crates/​web/​tests/​reader_browser.rs Updates doc comment to amem web
crates/​web/​src/​lib.rs Updates doc comments to reflect amem launch/work and amem models
crates/​sandbox/​src/​seatbelt.rs Updates comments/strings from “memory binary” to “amem binary”
crates/​sandbox/​src/​linux.rs Updates relay-related docs from memory relay to amem relay
crates/​sandbox/​src/​lib.rs Updates core sandbox docs/table to “ten harnesses” and amem naming
crates/​policy/​src/​lib.rs Updates doc comment to amem init
crates/​otel/​Cargo.toml Updates crate description to “amem binary”
crates/​memory/​tests/​launch.rs Updates test docs referring to amem inside / amem hook
crates/​memory/​src/​wslc_api.rs Updates docs and one user message to amem; leaves one memory: prefix
crates/​memory/​src/​wslc.rs Updates docs/error text for amem inside and gateway credential sourcing
crates/​memory/​src/​taps.rs Updates tap docs and install hint to amem
crates/​memory/​src/​savings.rs Updates recall hint to amem recall
crates/​memory/​src/​main.rs Updates help/errors/docs to amem for image unpack, usage, models, inside args
crates/​memory/​src/​credentials.rs Updates known credential description for gateway auth modes
crates/​egress/​src/​lib.rs Updates usage reference from memory usage to amem usage
crates/​client/​src/​lib.rs Updates doc comment from memory serve to amem serve
README.md Clarifies PAT placement, gateway flags, and wslc gateway behavior vs LLMAO_*
Makefile Updates wslcsdk comment to refer to amem.exe
CONTRIBUTING.md Updates make run description to amem
AGENTS.md Updates docs-only guidance to reflect demos/golden inputs and .claude/ commit policy
.github/​workflows/​image.yml Renames workflow step text to “amem binary”

Review effort: Lite

Comment thread .github/workflows/image.yml Resolved
Comment thread crates/memory/src/wslc_api.rs Resolved
Comment thread scripts/docs-only.sh Resolved
Comment thread images/harness/Dockerfile Resolved
sstriker and others added 3 commits October 30, 2026 09:20
The Dockerfile comment names the amem binary and its path in the image.
The image workflow says why it stages the binary as `memory`.

The demo narrative says that act 10 writes a new public note. The count of
309 is 304 live entries, the new note, and four superseded entries.

The eval task asf-pressures names a part that exists, and expects six.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
The adversarial pass found that the paper and the case study had changed
under the golden suite and the evals.

- golden/docs.toml: 6 of 14 questions named a heading that does not exist,
  and 2 matched the wrong document. All 14 now name the current heading.
- evals/demo.toml: committers-gate expected "committer", but the case study
  now names other people as the gate. asf-pressures accepted a "6" from a
  section reference. The seed instruction now uses make demo-ready.
- Act 10 says on screen that it writes a new note.
- docs/reference-stack.md no longer says that the launcher runs two harnesses.
- local/README.md says that its eval results are for the old tasks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
The second adversarial pass found that committers-gate accepted "the PMC",
which a model guesses with no record. It also found that asf-pressures
accepted a section number and refused "**six** pressures". The patterns now
reject the guesses and accept the answers that the record gives.

- The seed instruction says RESET=1, because an existing record keeps its
  old text.
- The trust-tiers golden question also names the part that defines the tiers.
- The demo narrative and PLAN.md say that their counts are for the old tasks
  and the old suite.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2
@sstriker
sstriker requested a balanced review from Copilot October 30, 2026 09:08
The third adversarial pass found that the patterns refused right answers,
such as "It lists six." and "A named person authorised by domain policy".

- asf-pressures accepts six or 6, except as the two section numbers that
  the record cites.
- committers-gate accepts the singular and Markdown emphasis. It requires
  "domain policy", so a guess about another policy does not pass.
- The trust-tiers golden question is now two questions, one for each answer.
- The seed command is on a line of its own.
- The demo narrative names the date of its run, 12 October.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread crates/memory/src/wslc_api.rs Resolved
Comment thread crates/memory/src/wslc.rs Resolved
The 6.1 caveat moves to the end of its paragraph. The committers-gate
pattern accepts "policy" without "domain" and a curly apostrophe. The
PLAN caveat says that the corpus is now nine files. The gateway
diagnostic in wslc.rs names --auth gateway and --server-auth gateway.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The committers-gate pattern requires the domain's policy, or a policy
that authorises the people. It accepts "human", "humans", "approver"
and "approvers". The asf-pressures pattern rejects a 6 in a link
anchor, at the end of a range, or in a list of parts. The trust-tiers
question accepts the two entries that define the tiers. The init
example in CONTRIBUTING.md uses --root. AGENTS.md says what to read
in the output of golden and act 6, because neither fails on a miss.
Act 8.1 and the M11 row in PLAN.md say that their questions changed
since they ran. The golden row in PLAN.md says fifteen questions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The accepted pattern in evals/demo.toml incorrectly passes release-policy authorisation answers despite the domain-policy requirement, so it needs tightening and verification against both correct and incorrect answers.

4 open issues

Review effort: Balanced

Comment thread evals/demo.toml Resolved
The first alternative accepted "named people authorised by the release
policy". Now the policy must be the domain's policy, or a policy with no
other name. I ran the pattern against 10 right and 7 wrong answers. The
pattern before this change accepted 2 of the wrong answers. This
pattern accepts none of them, and accepts all 10 right answers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bhj4Ck4y5iwZUsjpgQx8A2

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Human assessment is needed because unpublished findings show that the grader patterns can accept incorrect answers and inflate pass rates.

No open issues 🎉

4 resolved since last review

Review effort: Balanced

@sstriker
sstriker merged commit d673e6e into main Nov 2, 2026
15 checks passed
@sstriker
sstriker deleted the docs/open-facts branch November 2, 2026 22:52
sstriker added a commit that referenced this pull request Nov 2, 2026
Brings in what landed since the last merge (#37, #38, #41, #42, #48 to #52,
#54 to #56). No conflicts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D5DyJNQBUKom7QzrdkqRHn
sstriker added a commit that referenced this pull request Nov 3, 2026
Brings in what landed since the last merge (#37, #38, #41, #42, #48 to #52,
#54 to #56). No conflicts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D5DyJNQBUKom7QzrdkqRHn
sstriker added a commit that referenced this pull request Nov 3, 2026
Brings in what landed since the last merge (#37, #38, #41, #42, #48 to #52,
#54 to #56). No conflicts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D5DyJNQBUKom7QzrdkqRHn
sstriker added a commit that referenced this pull request Nov 3, 2026
Brings in what landed since the last merge (#37, #38, #41, #42, #39,
#48 to #52, #54 to #56). Two conflicts:

- Makefile .PHONY: keep corpus-check from main, and drop reader, which
  this branch removes.
- crates/web/static/reader/dm_reader_bg.wasm: #49 built it again on
  main. This branch deletes it, because crates/web/build.rs builds it
  from the sources, the change of #49 included.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D5DyJNQBUKom7QzrdkqRHn
sstriker added a commit that referenced this pull request Nov 3, 2026
Brings in what landed since the last merge (#37, #38, #41, #42, #39,
#48 to #52, #54 to #56).

One conflict, in crates/server/src/lib.rs: #52 adds `last_stamp`, so
that a write of this service is not dated before the one before it.
This branch adds `Memory::for_request()`, a view that writes for the
same session. The view now shares `last_stamp` with its session, as it
shares the other state that is kept per session.

New test: a_request_view_dates_its_writes_after_its_session_s_last_one.
With a view that starts its own `last_stamp`, the write is dated at the
clock, 30 s before the last stamp of the session, and the test fails.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D5DyJNQBUKom7QzrdkqRHn
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.

2 participants