Skip to content

EPIC-08 — Exploration first, governed by the fly #8

Description

@superposition

Steps

Phase 8 — Exploration first, governed by the fly (steps 23–24)

Step 23. Make exploration the default mission.
In runners/explore/src/main.rs, the run loop already asks QUALIA_COMPUTE_SOCKET to plan. Change
its default objective so the first mission opened at stack start is a frontier sweep: publish
MissionOpened { mission_id: "explore-frontier" } through the braid, request plans as today, and
include the fly prior's type-level in-strength in the planner request's existing belief_risk field —
uncertainty_weight from the prior's total applied weight, semantic_novelty from the fraction of
types in the chosen frontier that carry dimorphism = male-specific. Both are clamped to 0.0..=1.0
as belief_risk_penalty in runners/cuda-service/src/planner.rs already assumes.

Step 24. Keep leash's full capability set, governed.
Leash stays the motion authority: nothing in Phases 3–8 issues motor output. The harness reaches it
through QUALIA_LEASH_BASE_URL (already read by runners/agent). Add to
docs/contracts/planner-service-v1.md a one-paragraph note, and to crates/sync-types/src/mission.rs
a pub fly_governed: bool field defaulting to false (serde default, so older envelopes still
decode) which the agent sets to true when the prior is loaded. Test:
crates/sync-types/tests/mission.rs::fly_governed_defaults_false_and_round_trips.

Step 24b. Keep the sensing runners, and make time a belief input.
These runners stay and are not rewritten: runners/lidar, runners/camera, runners/vision
(object recognition; it fills WorldModel/voxels/lore and answers QuestionSlots),
runners/floor, runners/vslam, runners/pose, runners/map, runners/health. They are what gives
the harness leash's sensing capability set; this plan edits only pose and map (Step 21).
Time perception: qualia-jepa-model's RuntimeInput already carries delta_seconds: f32, so the
belief tick is already timed. Surface it — add pub fn decision_latency_ns(&self) -> u64 to
crates/braid/src/lib.rs (newest BeliefSlot timestamp in crates/types/src/lib.rs minus the newest
ledger entry's), and have Step 27's TUI Braid line render it as belief lag: {ms} ms. If a pose filter
(Kalman or otherwise) is expected, find it by reading runners/pose/src/main.rs before editing; if it
holds no filter, do not add one — pacing (Step 21) is the only change this plan makes to the
estimation path.

Clean-room decision in effect. The public repository is a from-scratch rewrite under
Apache-2.0. No file is copied from any private repository; the private engine is read only for
its interfaces, and the connectome dataset only for its graph. See docs/decisions.md.

Tickets

Journal

Entry slug: the-agent-in-the-loop — URL filled in when the entry is published.

Activity

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

    epicA phase of the braid plan

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions