Skip to content

Pre-1.0: prove the agent-* stack around developer focus, attention, and owner truth #389

Description

@voku

North star

Use the remaining pre-1.0 window to optimize the agent-* stack for what is becoming the scarce resource in agentic software development:

developer attention + engineering focus

This does not mean adding an Attention subsystem, another workflow phase, another package, or a dashboard score.

The intended split is:

engineering-codelight / agent-skills
  -> how the coding agent reasons with focus
  -> evidence, uncertainty, provenance, owner boundaries, falsification,
     smallest coherent hypothesis, re-grounding, recovery

agent-loop
  -> what is currently authorized and what evidence closes the Run
  -> Contract/Run authority, mutation_ready, next_action_kind / next_action,
     cross-owner orchestration, validation/review/Learning close semantics

agent-map
  -> exact local code/navigation/impact evidence
  -> derived indexes remain owner-maintained implementation detail

agent-learning + agent-recall-compiler
  -> reusable historical evidence and bounded recall

agent-ui
  -> where human attention is returned
  -> decision presentation, evidence orientation, deltas, re-entry/navigation
  -> never workflow truth

agent-loop-runner
  -> optional execution of already-authorized work
  -> runtime observation/recovery, never correctness or authority

The target experience is:

developer grants bounded authority
-> agent works with small current engineering context
-> owner evidence updates lifecycle state
-> human is interrupted only for genuine decision_required authority
-> agent-ui presents the smallest sufficient decision/evidence context
-> human decides
-> autonomous work resumes
-> a later developer can re-enter from persisted current state without chat archaeology

A human-in-the-loop system has failed if the human becomes a shell remote control or must reconstruct state the system already owns.

Current reality (2026-09-11)

Re-ground before every slice; this section is a save point, not eternal truth.

Loop release / current head

agent-loop 0.20.5 is tagged at:

646599110aa1b7223ff58393b59e417f749fdf12

Current main is one product commit ahead at:

10bef9759fa8d6b0c09773781d458cd3837a5b6d

That head adds configured asset roots plus package_skills / package_subagents toggles. This is now the structural mechanism for reducing projected capability surface when evidence justifies it. It is not itself evidence that any default should be removed.

The former owner-path cleanup tracker #285 remains complete. Do not reopen it as generic cleanup.

Agent engineering focus

Codelight composition is complete. voku/agent-skills remains the owner of the portable engineering-codelight reasoning skill at immutable owner commit:

eaf55a0645f2871ad3a255f162dfa67d0c45e12b

agent-loop#403 completed through merged #419. The YAML bootstrap correction and hook anti-injection proof also landed. Loop now routes named PHP identities to map scope / planned edits to map context instead of sending semantic identities back to text search.

The remaining behavioral question is #420: paired fresh-session Codelight vs no-Codelight evidence on raw engineering tasks. Change guidance only when observable decisions differ, not because prose sounds more principled.

Human attention/control plane

agent-ui 0.15.0 is released and has materially grown into the human evidence surface:

  • Contract revision deltas beside approval;
  • Learning promotability/readability visibility;
  • Contract scope vs Map impact;
  • Work <-> Architecture navigation;
  • source/impact continuation from Map views;
  • interactive graph exploration over owner projections;
  • semantic search restored through Map's typed owner API.

Project identity/probing from agent-ui#54 is complete.

Current bridge work is #418 / PR #430. It adds only optional local probe + presentation:

Loop decides canonical lifecycle result
-> optional vendor/bin/agent-ui status probe
-> only exact ready/project-bound owner result yields /task/<id>
-> unavailable/wrong UI remains presentation state
-> no lifecycle reclassification

No generic hooks, no repository-configured command execution, no browser authority, no Loop -> UI package dependency.

Learning / Recall owner boundary

Learning 0.18.6 owns self-healing of recomputable lineage projections at ordinary read boundaries; Loop now requires that released owner floor.

The numeric-looking identity defect ("403") is owner-fixed through the lossless identity_depths projection. Recall consumes that shape, and the released Learning 0.18.5 installed-consumer proof from agent-recall-compiler#171 is now merged. Do not add Loop-side int/string normalization.

Capability-surface evidence

#431 tracks the next capability-footprint question: measure projected vs actually observed-used skills/subagents before changing defaults.

Important distinction:

installed/projected != loaded/selected != useful

Use host-observable evidence only. A host that cannot reveal reliable selection/load information yields unknown, not unused.

Current executable frontier

1. Finish the Loop -> agent-ui presentation bridge

Track #418 / PR #430.

Merge only from current exact-head evidence. Required invariants:

  • canonical Loop result exists before probing UI;
  • UI absence/failure cannot change mutation_ready, next_action_kind, next_action, blockers, exit semantics or lifecycle state;
  • only owner-reported ready yields a task link;
  • repository config cannot execute arbitrary commands;
  • no-UI installed consumers stay valid.

After merge, dogfood the bridge on real decision_required and ordinary re-entry cases before deleting any standalone human presentation.

2. Run the bounded Codelight behavior experiment

Track #420.

Stop after the designed paired cohort unless the evidence is genuinely ambiguous. Reward changed decisions, better owner/probe selection, falsifiable validation and avoided wrong work. Do not reward more prose, tests or token use.

3. Measure capability projection before shrinking defaults

Track #431.

Use the new configured asset/package toggles only after evidence supports one of:

KEEP_DEFAULT
PROJECT_ON_DEMAND
REPOSITORY_OWNED
DELETE_DUPLICATE
UNKNOWN

No telemetry subsystem merely to count skills.

4. Dogfood attention and re-entry, then improve only demonstrated gaps

Track voku/agent-ui#36 and voku/agent-loop-runner#18.

For real human interruptions ask:

what am I deciding?
why does this require my authority?
what changed since my last decision?
what evidence supports/challenges it?
what is unknown/stale/truncated?
what happens after the decision?

For interrupted work ask:

can I recover approved intent + current state + next action + reason + evidence
from persisted owner state without reading an old chat?

Add UI only where the answer currently requires memory, raw-file archaeology, or manual joining of owner outputs.

5. Consolidate duplicated human review presentation only after proof

After #418 is merged and real dogfood demonstrates equivalent/better interactive coverage:

preferred interactive review -> agent-ui
no-UI fallback               -> smallest deterministic truthful fallback

Census human questions and owner projections first. Do not copy Loop's HTML renderer into UI. Delete presentation code only when its questions are genuinely covered elsewhere.

Existing evidence lanes that remain valid

  • voku/agent-map#61 — real legacy-scale local semantic/navigation value and boundedness;
  • voku/agent-learning#73 — real-scale lineage evidence when a genuinely large owner root exists;
  • voku/agent-recall-compiler#152 — bounded precedent selection at representative scale + real tasks;
  • voku/agent-loop-runner#18 — real execution/recovery cohort;
  • voku/agent-ui#53 — dead-public-API detection gap; do not replace it with string matching;
  • Enforce main-branch CI/review gates at repository level #275 — repository enforcement remains an external GitHub administration boundary.

These lanes should produce evidence or subtraction. They do not all need to become product surfaces.

Product rules

  1. Current owner state beats stale planning. Re-ground the changed delta; preserve stable authorized intent.
  2. Evidence is not authority. UI, Runner, Map, Recall and review evidence never silently change product intent.
  3. Every human interruption must buy a real human decision. Host prompts without decision_required are defects unless separately requested.
  4. Every autonomous interval stays inside granted authority. Fewer prompts must not mean broader silent permission.
  5. Human presentation should remove reconstruction work. Prefer deltas and owner-backed context over asking the developer to remember prior state.
  6. The UI is replaceable. Removing agent-ui may worsen UX but must not change correctness, authority or completion.
  7. The CLI is not the ideal human canvas. Keep it precise and complete; use agent-ui for rich interactive orientation when available.
  8. No generic hooks until repeated evidence earns them. A narrow control-plane probe is not permission to build another workflow engine.
  9. Features pay rent. Add a projection only when it changes a decision, removes manual joining/reconstruction, improves recovery, or preserves unique evidence.
  10. Negative change is success. Delete duplicated guidance/presentation once an owner/harder surface truly replaces it.
  11. Projection is not usage. Do not shrink or expand capability defaults from installation counts alone.

Explicit non-goals

Unless repeated real dogfood overturns these:

  • no new agent-* package;
  • no new workflow phase;
  • no AttentionManager, focus score, token-score dashboard, or universal priority algorithm;
  • no generic event/hook DSL;
  • no agent-ui workflow authority or private .agent-loop/** mutation;
  • no Loop dependency on agent-ui;
  • no mandatory browser/UI for CI or unattended use;
  • no auto-opening browsers in the first bridge;
  • no daemon manager inside Loop;
  • no transcript-derived truth;
  • no hidden-reasoning telemetry;
  • no broad architecture rewrite merely because a prettier diagram exists;
  • no 1.0 deadline.

Pre-1.0 success condition

The stack is approaching a defensible stable boundary when real daily work shows that:

  • coding agents stay focused by using small owner-backed engineering context rather than ever-growing bootstrap prose;
  • Loop reliably returns one canonical current action and genuine authority boundaries;
  • developers are interrupted only when their judgment matters;
  • agent-ui presents those decisions and their evidence without owning truth;
  • developers can resume after interruption/chat loss from persisted current state;
  • Runner repeatedly executes/reconciles/recover real governed work without becoming authority;
  • owner APIs remain bounded and private formats are not reconstructed cross-package;
  • Learning/Recall/Map scale evidence remains honest;
  • installed consumers remain clean without optional UI/Runner packages;
  • capability projection can be reduced from evidence rather than intuition;
  • repeated soft guidance/presentation can be deleted when structural enforcement or a better owner surface replaces it.

The goal is not a more impressive agent stack. It is a workflow that spends machine effort freely and human attention deliberately.

Activity

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions