Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,35 @@ <h2>Build a foundation for sustained autonomous delivery</h2>
<li><strong>Evolving engineering constraints.</strong> Put architecture boundaries, RFCs, tests, independent review, and release gates in the repository. Continuously refactor duplicate authority and code decay instead of accumulating patches.</li>
<li><strong>Evaluation that keeps up with development.</strong> Preserve baselines, candidate revisions, workloads, budgets, and counterexamples. Separate cheap local checks from expensive comprehensive evaluations, and retain independent acceptance. More diffs do not automatically mean more useful output.</li>
</ul>
<h3>Turn experience feedback into cross-layer acceptance</h3>
<p>LoopX has used its own long-horizon capabilities in development since its early days. The public <a href="https://github.com/loopx-project/loopx/blob/9bc8c22ca31f22782f4d3f6a6187155156abafd2/goals/goal-harness-meta/ACTIVE_GOAL_STATE.md">Meta Goal</a> of June 1, 2026 already defined operability, work continuation and validation as ongoing objectives. The June <a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/docs/showcases/cases/0619-loopx-self-iteration.md">self-iteration case</a> records parallel benchmark, control-plane, planning, interface and documentation work. Later came multiple agents and the Personal Workspace. Across these stages, development goals, ownership, human feedback and validation were retained so the improved system could participate in subsequent development. The <a href="../long-horizon-rsi/">bootstrapping and RSI essay</a> covers the history; commit counts describe activity, not capability gains.</p>
<p>This is the value of end-to-end co-design. A product problem can change the interaction, state presentation and acceptance checks together, with intent and engineering context shared across layers. The current <a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/docs/development/frontend-delivery.md#task-first-delivery--从用户任务开始">delivery process</a> starts from an ordinary user task: what fails, what information is repeatedly requested, and how to walk the built page and read back the result. Human feedback changes subsequent work and acceptance; agents adapt design and implementation within the same chain.</p>
<p>The Goal workspace brings direction, acceptance conditions, the work map and owner decisions together, while separating task progress from Goal acceptance. Public first screens receive an owner preview, followed by desktop, narrow-screen and keyboard checks. The repository showcase below illustrates this organization with synthetic presentation data.</p>
<figure><div class="architecture-viewport" role="region" tabindex="0" aria-label="Synthetic LoopX Goal workspace: direction, acceptance and owner decisions"><a href="../images/semantic-software-development/workspace-practice.png" target="_blank" rel="noopener"><img src="../images/semantic-software-development/workspace-practice.png" alt="A synthetic LoopX Goal workspace separates task counts from failed or unknown Goal acceptance and owner decisions" width="1440" height="1000" loading="lazy"/></a></div><figcaption>Repository Goal showcase with synthetic data: task progress, Goal acceptance and owner decisions. The numbers are presentation fixtures. <a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/docs/development/assets/goal-workspace/overview-desktop.png">Original image</a>.<span class="architecture-hint">Scroll horizontally on narrow screens; click to open the full figure.</span></figcaption></figure>

<h3>Compose atomic CLIs and thin skills into a complete loop</h3>
<p>In local LoopX development, agents use CLIs to read work, invoke tools, submit results and reconcile state, following the current <code>interaction_contract</code>. The <a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/loopx/capabilities/README.md#from-capability-to-provider">capability boundary</a> is Agent → Capability → Provider; domain validation turns external observations into proposals for the Kernel lifecycle. Hosts execute tools, capabilities interpret domain results, and the Kernel retains task, authority and budget state. CLIs and thin skills connect these capabilities without each owning another set of work rules.</p>
<p>Optional <a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/loopx/capabilities/explore/README.md">Explore</a>, for example, organizes questions, experiments, findings and counterevidence into an evidence graph. PR Review organizes a version-specific review plan, evidence and results. Their domain workflows differ, but reuse existing Todo, claim, gate and writeback boundaries. An Explore branch recommendation launches no worker and grants no budget. A research method or external tool can therefore reuse long-horizon infrastructure without creating another scheduler.</p>

<h3>Make the next change easier: types, ownership and refactoring</h3>
<p>Maintainability requires continuous behavior ownership. New enums and closed sets must identify their owner. The <a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/AGENTS.md#bounded-future-facing-refactoring">refactoring contract</a> prioritizes removing duplicate authority, strengthening types and narrowing modules, treating code volume as a cost. These rules must shape subsequent changes, beyond the initial design.</p>
<p>A representative practice is the <a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/docs/architecture/rfcs/typescript-control-plane-migration-v0.md#2-architecture-decision">gradual control-plane migration</a> that began in August 2026. It first characterizes behavior and authority, then consolidates complete transactions such as Turn settlement, quota and Todo completion—including internal durable effects—in TypeScript. Python retains required transport, legacy projections and external adapters. Translating individual helpers added bridges and duplicate code, so the migration adopted complete transaction cutover and deletion of replaced rules as its unit of progress. The aim is to make the next rule change easier to locate, test and revert. Delivered slices and remaining callers stay explicit; the overall migration is unfinished.</p>

<h3>Automate checks, retain independent judgment and release authority</h3>
<p>LoopX development follows a <a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/docs/development/README.md#change-loop--变更闭环">change loop</a> from problem characterization to focused implementation, regression checks, risk-selected canary and review. <code>loopx pr-review</code> binds verdicts to a specific head; new commits cannot inherit an old pass. Tests, review, owner decisions and publication have separate boundaries. Passing checks grants no merge authority.</p>
<p>Collaboration can also be checked as a complete delivery chain. The public <a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/examples/collaboration-delivery/README.md">three-agent demo</a> has a builder request an analyst model artifact, consume actual files to implement a solver, and obtain independent review. A revision adds reserve stock and a minimum regional allocation, prompting another implementation and review before results return to the original conversation. An exhaustive oracle never imports the candidate solver; each input version has exact expectations. A controller sets the inputs and phase schedule. The bounded demonstration covers same-host, same-Goal artifact adoption and continuation across fresh sessions, not unattended scheduling or full cross-host collaboration.</p>

<h3>Keep evaluation abreast of development: layers, counterexamples and cost</h3>
<p>LoopX <a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/docs/development/testing-and-quality.md#quality-layers--质量分层">separates evaluation layers</a>: inexpensive deterministic contracts and real-entrypoint regressions support ordinary changes; canary checks cross-surface risk; real-model qualification and long-horizon outcome studies run separately. Tests must reject incorrect candidates, with expectations independent of the implementation. Runnable code, model adoption of a protocol and long-term task benefit require different evidence. Faster development creates no additional evaluation resources; layering preserves decisive checks under cost constraints.</p>
<p>Long-horizon development also changes the interfaces and rules that agents themselves use. LoopX makes output readability, vocabulary drift, decision-module growth and correct recovery executable checks. Semantic complexity is constrained by complementary guardrails rather than reduced to one aggregate score.</p>
<div class="table-scroll" role="region" tabindex="0" aria-label="LoopX self-constraints and their evidence boundaries"><table style="min-width: 720px; table-layout: fixed"><caption>LoopX self-constraints and their evidence boundaries (scroll horizontally on narrow screens)</caption><colgroup><col style="width:140px"><col style="width:310px"><col style="width:270px"></colgroup><thead><tr><th scope="col">Guardrail</th><th scope="col">What it checks</th><th scope="col">Evidence boundary</th></tr></thead><tbody><tr><th scope="row"><a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/docs/reference/contracts/interface-budget-contract.md">CLI output contracts</a></th><td>Measure actual stdout characters, UTF-8 bytes, lines and JSON shape. Compare base/head on identical fixtures, checking task/history growth, required fields and action semantics. Hot paths retain explicit detail routes.</td><td>Smaller output may omit essential guidance. Authority, stop conditions and evidence obligations also need review; size compliance does not establish model understanding.</td></tr><tr><th scope="row"><a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/docs/architecture/rfcs/semantic-vocabulary-convergence-v0.md">Semantic vocabulary drift</a></th><td>Scan enums, Literal aliases, named closed sets and TypeScript as const carriers. Check definition owners, values, cross-runtime twins, projections and supported producer sites; undeclared values, duplicates and generated-binding drift enter the gate.</td><td>Evidence is bounded to recognized source forms and covered vocabulary domains. Unresolved dynamic paths and some consumer checks remain gaps, beyond any claim of general semantic equivalence.</td></tr><tr><th scope="row"><a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/loopx/canary/maintainability_ratchet.py">Maintainability ratchet</a></th><td>Python AST checks control-plane decision-function statements and decision points, module size, Any occurrences, and forbidden dependency directions. Existing debt, module budgets and reviewed exceptions are explicit; exceptions carry reasons and retirement plans.</td><td>Unreviewed new debt, metric-bearing exceptions exceeding ceilings and stale exceptions fail. These metrics flag refactoring risk; shorter functions or lower counts alone do not establish better design.</td></tr><tr><th scope="row"><a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/docs/architecture/rfcs/composable-state-machines-recovery-verification-v0.md">State composition and recovery</a></th><td>Existing Turn checks inject interruption, unresolved readback and exact retry across writeback → quota spend → closeout. Independent expectations require each logical effect to commit once, with real-entrypoint and readback evidence.</td><td>Finite fault sequences use a real File journal and synthetic provider ledger. They do not prove power-loss durability, complete lease contention or general cross-domain liveness. Full composition qualification remains open.</td></tr></tbody></table></div>
<p>The gates themselves need counterexamples. Existing tests reject <a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/tests/control_plane/test_cli_output_differential.py">smaller output that removes required semantics</a>, prevent <a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/tests/architecture/test_semantic_vocabulary_drift.py">narrowed scan scope from bypassing vocabulary checks</a>, and reject <a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/tests/canary/test_maintainability_ratchet.py">growth concealed by an existing debt exception</a>. Output budgets are regression baselines: useful new decision information can justify a reviewed adjustment with matched measurements, while compression must retain guidance obligations. Passing checks qualifies the tested contracts; model behavior and actual delivery still require observation.</p>
<p>The <a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/benchmark/LHTB/studies/five-arm-gpt56sol-max/README.md">five-arm LHTB study</a> checks whole-system outcomes across versions and execution modes. Its 46 matched tasks cover Plain Codex, Native Goal, SSH-Goal and two Heartbeat generations, with the same model and reasoning effort. LoopX 1.0.3 Heartbeat has mean reward 0.4948 versus Plain’s 0.4218, while both strictly solve 7/46 tasks. There is one effective trial per task and arm, replacement trials and unequal budgets, precluding an equal-budget efficiency or isolated causal claim. Retaining failures, regressions and limitations helps decide where to spend evaluation resources next.</p>

<h3>Local to cloud: reuse semantics, qualify execution environments separately</h3>
<p>LoopX separates control-plane contracts, domain capabilities and host/provider adapters. A local prototype can preserve work identity, acceptance and evidence while adapting remote tools. The current <a href="https://github.com/loopx-project/loopx/blob/f713e0f07c571a78a7c4405ab647ba41dbc492ba/docs/architecture/rfcs/loopx-overall-roadmap-v0.md#r6-localcloud-convergence">R6 roadmap</a> distinguishes a single-authority, mixed-execution precursor from full cross-host collaboration. Cloning an independently writable Goal database cannot implement the precursor.</p>
<p>Full qualification still requires at least two real hosts, including a cloud worker, with tenant/actor authorization, revocation, disconnects, stale writers and ambiguous commits checked. Shared contracts reduce the work of restating intent; resources, dependencies and isolation need separate evidence. The decomposition is reusable today; complete local/cloud qualification remains an open objective.</p>

<p>Across rounds, sessions, and executors, these constraints need to become inheritable state. Long-horizon autonomous development aims to advance valuable work when no human decision is needed, let a correction change subsequent actions, and wait, change route, or close the work when evidence is insufficient or marginal returns decline.</p>
<p>When those improvements are used to improve the development system itself, a system-level self-improvement loop emerges. The <a href="../long-horizon-rsi/">bootstrapping and RSI article</a> covers that history and its limits. Sustained commits and self-modifying code alone do not establish capability gains.</p>
</section>
Expand Down
Loading
Loading