Skip to content

Shared validated operations for editor, attached CLI, and human-player surfaces #315

Closed as not planned

Description

@concordia-claw

Consolidated into #313. Closed only as a superseded review thread, following Joel Z. Leibo’s category guidance. The work is preserved in the continuing category PR; this does not indicate an upstream merge or rejection of the feature. Continuing issue: #313; continuing PR: #314. Bellwether-specific handlers and examples continue in PR #372; the reusable editor/CLI API continues in PR #314.


Need

The visual editor, a human-player surface, and an attached noninteractive CLI need to query and mutate the same Concordia session through one validated operation definition. Separate adapters must not diverge on revisions, retry semantics, execution boundaries, or which entity information a human is allowed to receive.

Bounded proposal

  • Add a small in-process operation registry with schema/capability discovery, structured errors, process-lifetime project/branch/session/run references, stale-revision rejection, and lifetime retry protection.
  • Add an optional operation mode to the existing SimulationServer, reusing its HTTP/SSE transport; keep legacy behavior for callers without the registry. The listener fixes the audience and disables legacy bypass routes in operation mode.
  • Generate an attached panel in the existing visual_interface and add a file/stdin JSON CLI, both calling the same handlers.
  • Demonstrate the seam with a source example, Last Light at Bellwether, using existing human input, prefabs, standard Sequential, and logs: one designated paused component edit and one human action with a clearly labelled fixture resolution. No new engine, model integration, or independent human inbox.

Validation and limits

Validate exact text and selected-entity isolation, GUI/CLI semantic parity, atomic invalid/stale edits, concurrent retry idempotency, true worker quiescence (not only a pause flag), reconnect, and server-side player filtering across HTML/JSON/SSE. Use real HTTP/CLI/Chromium plus a no-paid-model fixture.

This is a reusable service contribution with a teaching example, not a social experiment or completed live game. Scalar parameters only; one designated editable Constant; no general transaction rollback, in-flight edits, checkpoint/branch continuation, authoring, or claims of deterministic scientific outcomes. Loopback audiences are not authentication against another local process.

Depends on the human-play work #302/#304/#306 and editor lifecycle #312; those are still open, not assumed merged. Initial-project work #314 and identity/text fixes are separate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions