Repository navigation
docs: one current answer per platform fact, and a prose rule that holds it - #598
Merged
Merged
Conversation
10 tasks done
laithalsaadoon
force-pushed
the
feature/strands-box-codex-sdk
branch
from
October 12, 2026 18:36
64cb991 to
7ff4973
Compare
laithalsaadoon
force-pushed
the
docs/one-current-fact
branch
from
October 12, 2026 18:36
a9adb04 to
37af478
Compare
3 tasks done
laithalsaadoon
force-pushed
the
docs/one-current-fact
branch
from
October 12, 2026 20:43
37af478 to
aa5c8c8
Compare
laithalsaadoon
added a commit
that referenced
this pull request
Oct 12, 2026
… not common words Review of #598 ran Vale with only this rule. It raised errors on ordinary sentences ("Logs are retained in CloudWatch", "Error correction: the client retries once", "Pass the original description", "A finding is re-measured before it replaces an entry") and missed any phrase split by a soft line break, plus "**Update, <date>:**", "An earlier measurement said", "Previously this page said", "This supersedes the <date> entry", and "Erratum:". Each token now allows any whitespace between its words and names the trail itself: a bold or dated correction or update, a re-measure next to a date, a claim or measurement that's kept or replaced. The test covers the wrapped phrases, the new trail forms, and the ordinary sentences, which pass. Two passages the old rule missed now state the current fact: examples/background-coding-agent/README.md points at the dated live evidence, and docs/STRATEGY.md's "Corrections to the initial proposal" is the guidance it led to.
laithalsaadoon
added a commit
that referenced
this pull request
Oct 12, 2026
…fixed Review of #598 found the 2026-10-12 sample changed two settings between its cases: the idle-suspend VM had maxIdleDurationSeconds 60 and the explicit one 3600, so a window counted from when the idle timer would have fired could also explain the 1283 s hold. Two more VMs, measured 2026-10-12 in us-east-1 (API 2025-09-09), used maxIdleDurationSeconds 60 and suspendedDurationSeconds 60, the idle case's settings, and an explicit SuspendMicrovm within 10 s of RUNNING. Both stayed SUSPENDED for 906 s and 917 s with stateReason null, and ResumeMicrovm brought both to RUNNING within 20 s. PLATFORM.md's table carries all three explicit-suspend rows, and PLATFORM.md and SUSPEND-RESUME.md say that AWS describes the window for any suspended VM, so the explicit case is measured behavior AWS doesn't promise.
…ds it Agents read these docs, and a page that gives two answers to one question is a hazard. A measurement that contradicts an entry now replaces it; git history holds the old one. - PLATFORM.md: merge the duplicate WebSocket, runHookPayload, snapshotBuild, base-version, GetMicrovm, tagging, keepalive and suspend sections into one entry each with their dates, and drop the correction-trail sentences. - The suspended window: the 2026-10-12 re-measure shows it ends a VM the idle policy suspended, and an explicit SuspendMicrovm held a VM 21 times past it with resume working (two samples). PLATFORM, SUSPEND-RESUME and the site pages state that. - The PT5M ready-hook timeout no longer reads as a platform cap; the exec PATH/HOME cases are one statement in PROTOCOL; SUSPEND-RESUME's idle attribution and identity text match the current daemon. - The rule changes in the PR template, the issue template, AGENTS.md, CONTRIBUTING.md, the live-suite page, the agents page and the internals index. - Microvms.CorrectionTrail, an error-level Vale rule in prose:check, rejects the phrasing a kept-alongside correction leaves. Seeded fault prose-correction-trail proves it fires. .vale.ini exempts the three passages PR #594 rewrites until it merges. - Two broken heading citations fixed (live.toml, PROTOCOL.md).
…nger needs This branch is stacked on #594, whose rewrite of the capability, snapshot and metadata passages removes the three phrases the exemptions covered, so Microvms.CorrectionTrail holds with none.
… not common words Review of #598 ran Vale with only this rule. It raised errors on ordinary sentences ("Logs are retained in CloudWatch", "Error correction: the client retries once", "Pass the original description", "A finding is re-measured before it replaces an entry") and missed any phrase split by a soft line break, plus "**Update, <date>:**", "An earlier measurement said", "Previously this page said", "This supersedes the <date> entry", and "Erratum:". Each token now allows any whitespace between its words and names the trail itself: a bold or dated correction or update, a re-measure next to a date, a claim or measurement that's kept or replaced. The test covers the wrapped phrases, the new trail forms, and the ordinary sentences, which pass. Two passages the old rule missed now state the current fact: examples/background-coding-agent/README.md points at the dated live evidence, and docs/STRATEGY.md's "Corrections to the initial proposal" is the guidance it led to.
…fixed Review of #598 found the 2026-10-12 sample changed two settings between its cases: the idle-suspend VM had maxIdleDurationSeconds 60 and the explicit one 3600, so a window counted from when the idle timer would have fired could also explain the 1283 s hold. Two more VMs, measured 2026-10-12 in us-east-1 (API 2025-09-09), used maxIdleDurationSeconds 60 and suspendedDurationSeconds 60, the idle case's settings, and an explicit SuspendMicrovm within 10 s of RUNNING. Both stayed SUSPENDED for 906 s and 917 s with stateReason null, and ResumeMicrovm brought both to RUNNING within 20 s. PLATFORM.md's table carries all three explicit-suspend rows, and PLATFORM.md and SUSPEND-RESUME.md say that AWS describes the window for any suspended VM, so the explicit case is measured behavior AWS doesn't promise.
laithalsaadoon
force-pushed
the
docs/one-current-fact
branch
from
October 12, 2026 20:59
aa5c8c8 to
e60b136
Compare
laithalsaadoon
changed the base branch from
feature/strands-box-codex-sdk
to
main
October 12, 2026 20:59
laithalsaadoon
marked this pull request as ready for review
October 12, 2026 21:19
This was referenced Oct 12, 2026
2 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
Coding agents read these docs, and a page that gives two answers to one question is a
hazard. Until now the rule was the opposite: a measurement that contradicted an entry was
appended beside it, and the old one stayed. This change sets the new rule and applies it.
A measurement that contradicts an entry replaces it, the entry keeps its date, region and
API version, and git history holds the old one.
.github/PULL_REQUEST_TEMPLATE.md(Platform claims),.github/ISSUE_TEMPLATE/platform_finding.md,AGENTS.md,CONTRIBUTING.md,site/authored/learn/operations/run-the-live-suite.mdsection 7,site/authored/agents.md,site/authored/internals/index.md,docs/STRATEGY.md,docs/README.md, and thedrive_platform_posturedocstring.duplicate WebSocket heading, the two 4096-byte
runHookPayloadsections, the twosuspend/resume sections (the ticker reads as one fact: no tick lost, timestamps skip the
suspended time), and the outside-poll measurements from 08-15 and 09-24. Also merged:
tagging,
snapshotBuild, the base-image version sections, and the twoGetMicrovmsections, plus the suspend and resume latency from both days. Every "corrects the earlier",
"Later evidence" and "this refresh" sentence is gone. The preamble names
al2023-1builtfrom
amazonlinux:2023-minimal.autoResumeEnabledfalse).suspendedDurationSecondsends a VM that the idle policysuspended:
TERMINATEDabout 60 s after suspending, thenResumeMicrovmwas refused.Two VMs with the idle case's exact policy (
maxIdleDurationSeconds60,suspendedDurationSeconds60), suspended by an explicitSuspendMicrovm, stayedSUSPENDED906 s and 917 s and resumed within 20 s; so did a third with a 3600 s idlelimit, at 1283 s. AWS describes the window for any suspended VM, so PLATFORM and
SUSPEND-RESUME call the explicit case measured behavior AWS doesn't promise. Seven site
pages say the same.
PT5Mready-hook timeout no longer reads as a five-minuteplatform cap (its configured timeout wasn't recorded; the model allows 3600 s).
PROTOCOL states once when an exec has
PATHandHOME. The SUSPEND-RESUME idleattribution is fixed (08-15 was an idle
sleep, not a CPU-busy exec). Its identity text,and the glossary's, match the run-hook repair and the
--repair-identitycapabilities.Microvms.CorrectionTrail, an error-level Vale rule thatprose:checkruns over every maintained page, rejects correction-trail phrasing: a bold or dated
correction, update or erratum, a re-measure next to a date, an earlier claim or
measurement kept or superseded, "this refresh did". Its tokens match across soft line
breaks, and ordinary words ("retained in CloudWatch", "error correction:", "the original
description") pass. The test runs real Vale over 32 sentences, both kinds. Two passages
it found are fixed:
examples/background-coding-agent/README.mdanddocs/STRATEGY.md's"Corrections to the initial proposal", now the guidance it led to.
.config/mise/tasks/live.tomlanddocs/PROTOCOL.md.#594 merged as 944577f, and this branch is rebased onto it; it was stacked on #594. #594 rewrites PLATFORM's
capability, identity-snapshot and MMDS sections and TRUST's identity-repair and
execution-role passages, and this branch leaves them as #594 has them. The rule needs that
rewrite to pass with no exemptions, so this merges after #594, and its base then becomes
main.Evidence
mise run checkpassed (1,799 Rust tests, 0 failed; prose 0 errors, 4,078 warnings, no rule over its ceiling). The rule's test passes 32 real-Vale cases under mise;guards:fire -- --only prose-correction-trailprinted1 of 1 firedon b5ad263, which the rebase made e680d0d with the same rule and test.mise run checkandmise run docs:checkpassed on the top of the stack built on it (the core: resume refuses an explicitly suspended VM past suspendedDurationSeconds, which the service still resumes #597 fix at c3f7bc1): 1,802 Rust tests, 0 failed; prose 4,080 warnings; 223 site tests.mise run check: green on a9adb04 (1,799 Rust tests, 0 failed).mise run docs:check: green on a9adb04 (vitest 223 passed).mise run prose:check: 0 errors, 4075 warnings on a9adb04 (4111 on main), no rule overits ceiling, and no
.vale.iniexemption../tools/check-lint-coverage.py && mise exec -- ruff check . && mise exec -- ruff format --check .(run inside
check)../conformance/run_rs.py --self-test(run insidecheck; only a docstring changed).2026-10-12 live measurement in us-east-1, two VMs.
Guards
prose-correction-trail: changedlevel: errortolevel: suggestionin.vale/styles/Microvms/CorrectionTrail.yml, so trail phrasing passed the gate unseen, andtest_correction_trail_phrasing_is_an_errorfailed.guards:fire -- --only prose-correction-trailprinted
fired: prose-correction-trailon 3582b33 and again on a9adb04.Follow-ups
says a resume past the window can't work, or that the window ends any suspended VM:
crates/microvms-cli/src/cli.rs:304,:1057,:2506;crates/microvms-cli/src/config.rs:86;crates/microvms-cli/src/exit.rs:257;crates/microvms-cli/README.md:51-53;crates/microvms-domain/src/error.rs:133;crates/microvms-app/src/sandbox.rs:35-40and:1754-1760(require_open_suspended_window);bindings/microvms-py/src/errors.rs:88-90;bindings/microvms-py/microvms.pyi:1383,:3850-3854;bindings/microvms-js/index.d.ts:1000,:2000;bindings/microvms-js/src/sandbox.rs:1148;bindings/microvms-js/src/control.rs:32;bindings/microvms-py/src/control.rs:42;verify/spec/core.symspec.json:844-851; and thegenerated
docs/reference/cli.md:59,:170,docs/manifest.json:4626,docs/TRACEABILITY.md:1203-1210,docs/insights/contract-map.md:79..vale/warnings.jsonceilings to the new counts once this and the open agentd: an image-set default user for execs and run-path starts #595 and core: resume refuses an explicitly suspended VM past suspendedDurationSeconds, which the service still resumes #597changes land, so each rule's ceiling is counted once.
al2023-1was used "from 2026-08-06 onward"; PLATFORM records it on2026-08-05 (
bindings/microvms-js/src/sandbox.rs:256,bindings/microvms-js/index.d.ts:1651,bindings/microvms-py/src/sandbox.rs:386,bindings/microvms-py/microvms.pyi:310,conformance/harness/image.py:36).crates/microvms-app/src/control/microvm.rs:709cites a PLATFORM heading that doesn't exist("A MicroVM that dies during startup reports a connection error that hides the cause").
PT5Mready-hook reason has no recordedreadyTimeoutInSeconds; one live build with atimeout above 300 s would settle whether five minutes is a platform cap.
stay separate: they state different facts, and code cites each heading.
Platform claims
docs/PLATFORM.mdentry changed, and it carries a date, a region, andan API version. A new measurement replaces any entry it contradicts,
in this file and in other docs. Git history keeps the old one.
Scope
(see
docs/STRATEGY.md).