Repository navigation
Re-vendor bedside to v0.2.0 (11 tenets, rubric renumbered R1-R11, meta.toml key renamed) #89
Description
Status
Upstream is merged: tig/bedside#11, merge commit c4c0381. Released as v0.2.0. This is ready to work on.
third_party/bedside here is pinned at 868e3b8, which predates all of it.
Full migration notes upstream: CHANGELOG.md.
Read this first: renaming the key alone is wrong
The meta.toml focus key changed from principles to tenets, and the rubric ids moved in the same release. A mechanical rename re-points every fixture at a different tenet, silently. Remap first:
principles = ["R4"] -> tenets = ["R5"] # explicit human acts
principles = ["R5"] -> tenets = ["R6"] # first-run owned
principles = ["R6"] -> tenets = ["R7"] # scary surfaces
principles = ["R7"] -> tenets = ["R8"] # confirm in their words
principles = ["R8"] -> tenets = ["R9"] # no cliff
principles = ["R9"] -> tenets = ["R10"] # leave-behind
R1-R3 unchanged. R4 (no silent work) and R11 (compound, but ask first) are new. The invariant Rn scores tenet n holds throughout.
Good news for silico specifically: there are currently no meta.toml files outside third_party/bedside, so there is nothing to hand-migrate. The nine vendored fixtures are replaced wholesale by the re-vendor. The remapping table matters only if domain fixtures get added before this lands.
Blocker to decide before re-vendoring
third_party/bedside/src/bedside/commands/ask_cmd.py is not a clean copy of upstream. It carries a local behavior change from #84: any valid choice exits 0, where upstream has code = OK if matched else HUMAN_NEEDED. bedside.toml records this as pin = "silico-local-ask-explicit-yes-0".
A straight re-vendor silently reverts it. The symptom would surface later as an agent treating a deliberate non-recommended choice as a decline.
Decide first:
- Re-apply the patch after re-vendoring and keep carrying it, or
- File it upstream on tig/bedside so the exit-code semantics are settled in one place (preferred: the exit-code table is part of bedside's agent-facing contract, so two definitions of exit 10 is the actual bug, and upstream tenet 11 now asks for exactly this).
Stale references in silico's own prose
Line numbers as of 7dd1b5a:
-
AGENTS.md:70— "Normative portable manners (nine principles)" → eleven tenets. -
AGENTS.md:80— "Nine principles, anti-patterns, portable persona". -
AGENTS.md:178— "They do not soften or replace the nine principles." -
AGENTS.md:325— "Choice walls are contract violations (Bedside principle 2 / 4)". This one becomes actively wrong, not merely dated: tenet 4 is now "no silent work", and the human-acts tenet is now 5. -
AGENTS.md:511,BEDSIDE.md:3,BEDSIDE.md:19,BEDSIDE.md:90— "principles" → "tenets".
What is new upstream that silico may care about
Tenet 4, "No silent work" — long or delegated work shows progress, an estimate, or per-worker status; subagents and background jobs report what each is doing. Directly relevant to long flashes, deploys, and multi-device work. The five-second threshold for a progress indicator is in surface/.
Tenet 11, "Compound what you learn" — notice friction, and with the operator's go-ahead file it upstream. This formalizes the customer-0 doctrine already in third_party/bedside/VENDOR.md, including the consent gate.
Also: "Day 2" is retired (now "tomorrow" / "leave-behind"), and the optional scorecard is now the first-run scorecard with an added status-visibility item.
Other breaking changes
bedside eval --jsonemitstenetsinstead ofprinciples. Anything parsing that output needs updating.- Python API renamed with no aliases:
TENET_IDS,ScoreReport.tenet_pass,FixtureMeta.tenets,overall_from_tenets. - Unknown tenet ids in
meta.tomlare now rejected rather than silently unscored.
Suggested order
- Decide the
ask_cmd.pyquestion above, so the re-vendor is not the thing that loses the patch. - Re-vendor
third_party/bedsidefromc4c0381(or thev0.2.0tag once cut). - Update
VENDOR.mdand thebedside.tomlpin. - Fix the stale references listed above.
- Run
bedside doctorandbedside eval; both should be green.
Activity
[-]Update vendored bedside: 11 tenets, renumbered rubric IDs, meta.toml key rename[/-][+]Re-vendor bedside to v0.2.0 (11 tenets, rubric renumbered R1-R11, meta.toml key renamed)[/+]Re-vendor bedside to v0.2.0 (eleven tenets; #89) (#90)