D-10 closure runbook v2: lab build + lab infocheck driven workflow #105
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_proc#105
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why this issue
hero_proc#102 tracks D-10 closure (every demo-set repo passes
lab build+lab infocheckcleanly). The per-session "manual sweep" playbook we refined across s101–s107 has been superseded by thelab build --release --install --workspace+lab infocheckdriven flow. This issue is the canonical runbook for closing the remaining work under the new tooling.Current state (2026-05-19 — s124 close)
hero_lib+hero_rpcclosed at s124 via D-11 decision on hero_skills#258.mycelium_networkD-10 closure landed: PR #48 MERGED at 2026-05-19T18:05:19Z (merge commit9abc843, basedevelopment_crate_layout). 35/35 effective clean (100%) — hero_proc#102 D-10 arc CLOSED across all 35 repos in D-07 scope. See #102#33220 Session 125 update for full smoke + cargo test detail.src/main.rs:0not-existing finding). Runtime--info --jsoncheck is the operational gate; per s123 hero_osis_server precedent + s124 hero_lib + hero_rpc, the false-positive is accepted as cosmetic, repos count toward "effective clean" when runtime gate is green.Live tracker #102#33220 carries the full per-session history.
The 15 remaining wholesale-shape repos (D-10 real work)
Source state: 0 of N main.rs files have
service_base!(), noservice.tomlon disk. Each needs full canonical-base bootstrap.hero_os— s12270f627d(5 binaries: cli + server + admin + app + web; service_base!() macro wholesale + lesson #19 forward_env_if_set on both spawned ActionSpecs + PATH_ROOT env block added to server+admin service.tomls; smoke 6/6 met)hero_osis— s1237d8b3a2hero_livekit— s11401e48e7(4 binaries: server + admin + lk-backend + hero_do_hero_livekit)hero_logic— s110 ba74b2bhero_indexer— s109 e60eca8hero_voice— s119f8503b3(4 binaries: cli + server + admin + voiced; first end-to-end validation of transcribe + TTS branches of herolib_ai v0.6.0 API + pairedsrc/bin/hero_voice.rs → src/main.rsrestructure, 5/5 met)hero_agent— s120a141d48(3 binaries canonical + herolib_ai v0.6.0 transcribe-surface migration — last AI-rename ripple absorbed, 5/5 met)hero_code_indexer— s111 95ccdadhero_lib_rhai— s121b4d138ahero_matrixchat— s115635619b(3 binaries canonical + web.sock→admin.sock pair, 5/5 met)hero_planner— s116bdfbfb4hero_researcher— s118ee3431b(2 binaries: cli + server; herolib_ai v0.6.0 migration paired + web.sock→admin.sock rename, 5/5 met)hero_wallet— s11242cb6393hero_webbuilder— s1175f726af(4 binaries: cli + server + admin + web; herolib_ai v0.6.0 migration paired with D-10 sweep, 5/5 met)hero_website_framework— s1136c88a34Non-service bin lib-workspaces (D-11 pattern)
hero_lib+hero_rpchost helper / demo / codegen bins in lib workspaces, not long-running services. Canonical pattern locked at D-11 (s124) per hero_skills#258: minimalservice.tomlwithkind = "cmdline"(orcli/serverfor tools/examples that shape that way) +skip = true+service_base!()macro (canonical) or inlineSERVICE_TOML/BUILD_NRconsts (Lesson #20 forsrc/bin/<name>.rs). Runtime--info --jsonis the gate;lab infocheckfalse-positives on lib+bin shape are accepted as cosmetic per #265.hero_lib— s12433b5a3fb(3 crates wired:ai_archive+clients+web; 4 bins total.ai_test/ai_direct_testwas already clean. lab build 4/4 built; --info JSON 4/4 canonical; lab infocheck 2/4 clean + 2/4 #265-class cosmetic FP)hero_rpc— s124b1c8621(5 crates wired:crates/generator+crates/hero_lifecycle+example/petstore_client+example/petstore_server+example/recipe_server. lab build 5/5 built; --info JSON 5/5 canonical; lab infocheck 3/5 clean + 2/5 #265-class cosmetic FP. Bonus: hero_lifecycle bin renamed frommain→hero_lifecyclevia explicit[[bin]]block in Cargo.toml)Per-repo runbook (safe-by-default variant)
This variant adds two checkpoints to the standard flow — it doesn't fork from it. Same commands, same destination, just two extra pauses to confirm no broken state ships.
Release pipeline (linux-x86_64 binaries)
Once a repo is clean (D-10 acceptance), publish via:
Uploads to a rolling
lab-latestForgejo release on the repo. Other machines fetch vialab build --download --install <repo>.Methodology notes
lab infocheckmeasures local install state, not just source. If$PATH_ROOT/bin/<name>exists, it runs the installed binary's--info --json. So a repo can read "dirty" on a stale machine and "clean" on a fresh one. Alwayslab build --release --installbefore reading the inventory for an authoritative count.lab buildexits 0 even when targets fail. Parse~/hero/var/build_report.md("targets: N built, M failed") for the truth, not the exit code.lab build -uauto-pushes the working branch. Under the no-PR workflow used here, skip-uand pull manually. Kristof's parallel agent fleet uses the-upath with auto-push; that's also fine — different gate position, same destination.lab build --repaironly fires on cargo compile failures, not on pre-build--info-gate failures. Wholesale-shape repos (noservice_base!()wiring) must be hand-bootstrapped or driven vialab agent; the build repair loop won't bootstrap them.Related
mik-tf referenced this issue from lhumina_research/hero_demo2026-05-18 00:10:28 +00:00
mik-tf referenced this issue from lhumina_research/hero_demo2026-05-18 23:31:36 +00:00
Closing as obsolete — own body declares the D-10 arc complete.
The issue body's "Current state (2026-05-19 — s124 close)" section reads:
The runbook this issue was meant to track has reached its terminal state. The remaining live tracker at #102#33220 carries the per-session history.
Closing as obsolete.
mik-tf referenced this issue from lhumina_code/home2026-05-21 11:38:32 +00:00