Skip to content

Editor CLI robustness for container agents; stage validation; skill discipline - #50

Merged
NiJingzhe merged 4 commits into
masterfrom
dev
Oct 15, 2026
Merged

NiJingzhe merged 4 commits into
masterfrom
dev

Conversation

@NiJingzhe

Copy link
Copy Markdown
Collaborator

Summary

From a FormerOS container agent's field report (via sca-promo):

  1. Endpoint discovery: server.json pins the loopback url (even for --host 0.0.0.0), the health check bypasses the proxy environment, and a record whose server does not answer is a named error — no more silent "no editor is running" while one runs.
  2. Fallbacks say so: reading the file without an editor warns on stderr.
  3. Cell feedback: put/insert/run return console + not-healthy dependents; the swept dependents actually run; a failing cell names its upstream ancestors (failing first), computed with marimo's own dependency semantics.
  4. Stage validation: sca run --through N / --no-product / --timeout (default 120s).
  5. Quieter logs: cache-loader degraded-state warnings and VTK chatter suppressed; real failures still named.
  6. BRepInspection repr is a one-line digest (full record via to_dict()).
  7. Skill: sca-cell-only wording for shared-editor sessions, dof=0 ≠ correct shape note, git discipline global rule.

Test plan

  • test_editor.py, test_notebook_runtime.py, test_inspect_brep.py: 144 passed (16 new tests incl. a real-uvicorn proxy-bypass test)
  • ty: 0 diagnostics on changed files

NiJingzhe and others added 4 commits October 15, 2026 20:02
…at it failed to reach

A container's http_proxy swallowed the health check of a 127.0.0.1 editor url
and the miss was read as "no editor is running" — both the record's url (now
always the loopback) and the check (now a proxy-bypassing opener) are fixed,
and a record whose server does not answer is an error naming the record and
url, not a silent fallthrough. Reading the file as a fallback says so on
stderr. Cell feedback: put/insert/run carry console and the not-healthy
dependents, the swept dependents run, and a failing cell names its upstream
(the failing ancestors first) with marimo's own dependency semantics.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…eter logs

sca run --through N runs the first N cells the way the editor numbers them
(the setup cell takes no number), --no-product runs a work-in-progress
notebook that has no product yet, and --timeout (default 120s) fails a run
that takes longer instead of hanging the agent. The cache loaders' degraded-
state warnings (unsigned entries, stub restores) no longer print at WARNING,
and VTK's own chatter (a missing X server) is off; a real failure is still
raised and named.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… wording; git discipline

Printing an inspection now shows a one-line digest (the per-face records are
to_dict()/.faces). The skill says what an agent in a shared editor needed
told: while an editor runs, sca cell is the only way to change a regular
cell — the file only when no editor runs or for the cells sca cell refuses.
dof=0 says the constraint system closed, not that the shape is right
(mirror solutions); verify by measurement. And a modeling project is managed
like software: git from the first file, commits at verified milestones,
generated state ignored.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…write that outlives its call says the edit landed

sca run --timeout now defaults to no limit (the runner's own default): a
command that never timed out does not grow a hard failure; --timeout 240
was verified against a real fillet notebook through the worker thread.
 sca cell write calls time out with "the edit was applied and the rerun is
still going; check sca cell ls" instead of a raw socket error, and the wait
is SCA_EDITOR_CALL_TIMEOUT (default 300s). A server.json whose pid is gone
reports the stale record and the remedy, not an unreachable url.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@NiJingzhe
NiJingzhe merged commit 24af4ff into master Oct 15, 2026
@NiJingzhe NiJingzhe mentioned this pull request Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant