Open
#212
Bug
muse mist push crashes unconditionally: SimpleNamespace missing json_out (has json_output) and other required push.py attributes
0
Anchors
—
Blast radius
—
Churn 30d
0
Proposals
No description provided.
Activity1
Confirmed while building Episode 20 ("Mist") demo material. Severe: the documented "manual workflow" for mist push crashes 100% of the time, unconditionally, with an unhandled AttributeError.
Repro (exactly the documented flow, from
muse mist push --help):Reproduces identically with or without
--jsonon themist pushinvocation itself.Root cause:
muse/cli/commands/mist.py::run_push()builds a baretypes.SimpleNamespaceand hands it topush.py'srun()(the regularmuse pushimplementation), reusing it as "delegate to the push command's internals":push.py::run()readsargs.json_out(notjson_output— genuinely different attribute name, confirmed by grep — nojson_outis ever set). It also readsargs.branch_posandargs.set_upstream_flaglater in the same function, neither of which the constructed namespace provides either. The real argparse-basedmuse pushCLI entry point always populates all of these; this hand-built namespace only covers 4 of the fieldsrun()actually needs.Impact:
muse mist pushcannot succeed under any circumstances today. The fast-pathmuse mist create --push(a singlePOST /api/mistscall, bypassing this code entirely) works correctly but never populatescommitId/snapshotIdin its response — so Mist's documented "full VCS lineage (branches, commits, proposals, diffs, releases)" claim currently has no working demonstration path via the CLI at all.Suggested fix: either construct the full attribute set
push.py'srun()needs (matching whatever the real argparse parser produces — safest to introspect it rather than hand-list fields, since this is exactly how the drift happened), or refactorrun()to accept an explicit typed parameter object instead of a rawargparse.Namespaceduck-type, so a mismatch like this fails at call-construction time rather than deep inside execution.Deferred per usual until after the season wraps.