blueprint golden path broken: generator emits dead hero_theme git dep (hero_web_template.git → 404) #158
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
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_blueprint#158
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?
Goal
lab blueprint(the schema-driven scaffolder) must produce a workspace that builds, boots, and serves end-to-end. The canonical proof isexamples/blueprinting/run.sh(scaffold a.oschema→cargo build --workspace→ boot server → drive every generated RPC method → teardown) and the fullerexamples/crm/run.sh. Right now neither completes — they fail at the build step.Reproduce
lab blueprint --schemas-dirscaffolds fine (54 files, 21 dirs).cargo build --workspacefails:Root cause
The generator hard-codes the
hero_themecrate from a repo that no longer exists:https://forge.ourworld.tf/lhumina_code/hero_web_template.git→ web 404, git fetch 301/401.crates/generator/src/build/scaffold.rs:<name>_admin/Cargo.toml<name>_web/Cargo.tomlhero_themehas since moved.hero_website_framework(which the same scaffold already depends on forhero_admin_lib) now resolveshero_themefromcoopcloud_code/mycelium_dashboard_template_wip.git@development(confirmed in itsCargo.lock, commitde4712a).Fix
Repoint both emit sites to the live source so generated services match
hero_website_framework:(Flagging the
_wiprepo name — it's the de-facto current source the rest of the stack uses; a more permanent home may be wanted later.)Validation plan
development, push.labagainst updatedblueprinter(cargo update -p blueprinter) and re-runexamples/blueprinting/run.shto green.examples/crm/run.sh(catches_admin/_weboptional-non-string-field issues per its README).Tracking the work to get the blueprint golden path green on
development.Progress — golden path now reaches a working server
Three generator fixes landed on
development(all dependency-resolution blockers for the default scaffold):9f49a30— repoint scaffoldedhero_themeto the livemycelium_dashboard_template_wip.git(oldhero_web_template.git404'd).019236e— drop deletedhero_rpc2from scaffolded_admin/_web(they already use the flat<name>_sdkclient).4bdb211— migrate the scaffoldedexamples/crate offhero_rpc2to the flat SDK (connect_socket+<root>_list_full).<benches commit>— drop unusedhero_rpc2from scaffoldedbenches/.Generator lib suite green (151 passed). With a
labrebuilt against these,lab blueprint→cargo buildnow compiles core + server + sdk, and the generated server boots and serves correctly:widget_set {"sid":"","data":{…}}onPOST /api/widgets/rpc→ created sid0001./api/{domain}/rpc,/health.json,/api/ping,/api/domains.json. CRUD is get/set/delete/list/list_full/exists/find (nonew— create =setwith empty sid).Remaining to make the full
examples/blueprinting/run.shgreenThe
_admin/_webUI crates never compiled before (resolution failed first); now exposed:main.rsusehero_lifecycle::base::*but don't declarehero_lifecycle(E0433).client.widget_new(...)and importWidgetNewInput/WidgetCreate; the flat SDK only exposeswidget_set/WidgetSetInput(E0432/E0599). Route emitter still assumes the old CRUD-8newverb.Option<String>without an HtmlSafe filter (E0599askama_auto_escape). Matches the known "_admin/_web trip over optional non-string fields" note inexamples/crm/README.md.run.shposts to/rpc+/healthand callswidget.new; should be/api/widgets/rpc,/health.json,widget_set.Items 1–3 are generator (
scaffold.rs/ui_emit.rs) codegen fixes; item 4 is the example driver.