Skip to content

v1.3.0 — Long-horizon work & Astra-assisted semantic control

Choose a tag to compare

@loopx-agent loopx-agent released this 06 Oct 01:41
· 415 commits to main since this release
e1dd9e5

LoopX v1.3.0 — Long-horizon work, stronger semantic control

Released as v1.3.0. Public packages, desktop assets and stable upgrades have been verified.

Personal illustrated release guide — verified personal user ownership, released UI illustrations and complete text/image readback; existing Feishu access applies.

Long-horizon benchmark diagnosis and Astra-assisted engineering shape this release's theme: retain the right work and evidence, make recovery actionable, and preserve the authority behind every next step. The latest research blog explains the failures that motivated the work. Astra describes the development and semantic-review effort; the reported EdgeBench worker experiment uses gpt-6.1-sol / xhigh.

Release Decision

Who should upgrade: Operators of continuing Codex work, evidence-driven replanning and workspace Chat can upgrade to v1.3.0. Users satisfied with v1.2.4 may keep their current installation.

What this release solves: Useful history could be crowded out by repeated observations; an already-known replan could demand a failed round trip; task steps, permission failures and settlement hints could point to the wrong recovery. This release collects bounded fixes to those paths, alongside clearer workspace Chat and explicit configuration recovery.

Breaking changes: No intentional breaking migration. Ordinary host-declared project Chat now defaults to workspace_write; choose workspace_read explicitly when needed. Existing read-only App bindings retain their grant. New generated settlement commands carry correctly placed global --format json; direct CLI defaults and stored receipts are unchanged. Managed execution names deepseek-flash; explicit historical model settings remain respected. Canonical new-Goal creation and Explore execution remain opt-in. Existing Goals are not migrated by a device preference. Lifecycle-only registry metadata and stored workspace approval no longer authorize a Codex workspace-write resume; an admitted runtime source is required.

How to verify: Expect loopx 1.3.0, a healthy owning installation, and a current scoped status/diagnostic readback after upgrading. Investigate unavailable or blocked results before starting work.

loopx --version
loopx doctor
loopx --format json status
loopx diagnose --goal-id "$GOAL_ID"

Contributors: @Inference1, @Duang777, and the other eight community contributors below are attributed to shipped work in the v1.2.4 → v1.3.0 range, with linked PRs and concrete contributions. The final source range contains 162 merged PRs and 10 eligible community contributors.

State Kernel & Control Plane

  • Recover from a busy model truthfully: typed overload results show safe failure and existing status/results before an explicit later retry; preserve the original Session and Turn without automatic replay, fallback or replacement conversation. #5657

  • Confirm complete runtime retirement: stopped waits for the locator lock and its cleanup files; unreadable state remains pending and replacement runtime state is preserved. Shared task-adaptive answer validation follows the existing complete-answer contract. #5707, #5704

  • Continue the correct task: Next Action writeback binds to the selected Todo, Agent and current basis; accountable Goal-level writes remain valid. Old or unrelated steps cannot silently take over the next turn. #5531, #5588

  • Use evidence before repeating a route: Dense typed replan context retains outcome and route diversity, with exact omitted-history recovery. Explicit successor selection can finish the known replan admission in one CLI call; genuinely fresh vision gaps can rearm it. #5536, #5624, #5628, #5646

  • Settle with the original authority: Checkpoint recovery, unchanged-artifact/negative-evidence guidance and vision closeout follow the canonical settlement plan. Full and compact packets preserve conditional steps and identities; generated JSON commands run as returned. #5573, #5629, #5633, #5640, #5636, #5667, #5672

  • Separate denial from failure: Host permission diagnostics retain actionable recovery; isolated edits preserve the complete evidence basis. Delegated stop acknowledges the request separately from proven native-process drain and lease settlement. #5644, #5587, #5308

  • Keep lifecycle metadata separate from execution: Codex write resumes now reject lifecycle-only registry profiles before launching a changed-sandbox Host; valid scoped continuations remain supported. Existing canonical successor links can be retired in one terminal transaction without rewriting successor requirements. #5700, #5698

  • Review before a long Todo ends: explicitly choose settled work-Turn cadence while preserving legacy completed-Todo defaults (#5699). The Task inspector also reads the current blocked reason and recovery in place (#5568).

Capabilities & Workflows

  • Keep project intake within its original source authority: an explicitly activated SDK source may use existing project/profile/grant context without creating a Goal. Current Core authorization and the source transaction fence remain required; the broader frontend/Lark/CLI writer journey is partial. #5562

  • Move one ranked material without losing the backlog: The SDK preview preserves other relative order and explicit protected ranks; chunked existing receipts cover the entire atomic transition, including more than 100 displaced materials. Source apply/CAS/rollback remains adapter- and owner-gated. #5611

  • Explore Harness becomes usable in an ordinary turn: Evidence-only and planning modes share the existing owner and a turn-start context; finding titles survive projection. Configuration proves availability, while reading and changed decisions still need evidence. #5610, #5658

  • Work in an ordinary workspace conversation: The App Scope picker opens a granted workspace through the existing composer without synthesizing a Goal or borrowing portfolio authority. Writes stay inside the host grant; revoked or changed contexts reject new work. #5540, #5555

  • Recover configuration explicitly: Export and verify complete stored configuration, then restore to an isolated checkpoint. Device settings can opt future empty Goals into canonical File/SQLite authority and a frozen soft-claim/hard-lease policy; existing Goals retain their owner. #5557, #5569

  • Inspect public GitHub evidence: A SHA-pinned anonymous provider retrieves bounded sources; parent admission and downstream ledger readback remain separate. CLI/provider and conversation readback are shipped; complete frontend initiation/admission remains a staged boundary. #5459

  • Keep desktop updates and recovery durable: A delayed status response cannot replace a newer Restart state or expose Apply again. #5693, #5651. Update-channel pointers reject rollback, and interrupted backup rotation can recover through the existing owner. #5645, #5647

Quality & Testing

  • Preserve provider evidence and failure identity: Explicit UTF-8 avoids host-locale corruption; Darwin termination confirms a disappeared owned group before accepting its permission error. Live descendants and uncertain observations remain failures. Lark recovery tests retain the known-ID/unknown-outcome fence. #5702

  • Test semantics and retire duplicate owners: Native child receipts preserve resumed result correlation; stop fixtures retain real drain obligations. Redundant smokes, Python Todo transition/admission adapters and an unused shadow producer are retired; four document versions and the Lark visibility pair each use their defining owner. #5455, #5539, #5613, #5621, #5597, #5664, #5666, #5670

  • Reduce bounded preflight cost: The affected Turn/MCP path reuses typed projections; checkpoint context resolves in one TypeScript request. These measured engineering slices do not close sustained-operation or model-efficiency acceptance. #5283, #5585

Benchmarks & Integrations

  • Diagnose long-horizon work with controlled profiles: Native EdgeBench supports official, single-call, native Goal, heartbeat-resume and heartbeat-Explore workers. Trial-wide deadlines, terminal visualizer results and runnable successor admission use their intended lifecycle; feedback policy is distinguished from evaluator isolation. #5591, #5600, #5618, #5617, #5635

  • Private Lark Chat composes with the same workspace owner: Images and image/text reuse the native Session/Turn under the receiving App, and worker conclusions return to their original private steward. Failed or unsupported media is explicitly not executed. #5581, #5622. Explicit App/source bindings support ordinary Chat, confirmed steward commissions, scoped status/help and authorized attached-Agent selection. One listener and durable Core requests preserve original audiences. Installed/live Lark and mobile qualification remain separate. #5541, #5542, #5544, #5546, #5550, #5637

  • More explicit provider observations: Finance 0.8.5 also derives signed net-capex/adjusted-FCF bridges from six caller-supplied source-column amounts; missing/conflicting sources, unit/sign errors and display-value uncertainty remain explicit. The cash assessment is a CLI/provider prerequisite; App/Lark cash presentation and production source-provider adoption remain unqualified, with financial/trading admission false. #5694. The managed model alias names DeepSeek V4.1 Flash, with operator-configurable Ark rows. Finance 0.8.5 distinguishes producer accuracy, encoded periods and parent-declared economic periods; the earlier position guard reads filled protection separately from trade authority. #5561, #5631, #5521

  • Recover a timed-out private reply on its original route: A retained terminal result returns through the existing private-conversation lifecycle without pretending the first timed-out reply succeeded. #5607

  • Execute only already bound inbox work: The sender-bound policy can separately authorize an existing Goal/Agent/task binding. Canonical preflight and receiver acceptance remain distinct from delivery and launch. Discovery and operator-editor completion remain staged. #5634

  • Keep service and Chat model homes independent: The macOS LaunchAgent preserves explicit execution CODEX_HOME separately from LOOPX_CHAT_CODEX_HOME; upgrading retains each existing binding. #5626 Saved Chat storage and execution timeouts also survive reinstall/restart; invalid input leaves both prior service definitions intact. #5714

  • Check source references without hiding literals: Public-source validation recognizes complete Basic variable templates; literal and mixed credential values remain blocked. #5696

  • Read through a reserved browser Page: An explicitly configured MCP adapter returns bounded public-source text and actual rendered image content. Native Bot/channel promotion remains unqualified. #5630

  • Return private replies with inert presentation: Quoted handles or malformed mention presentation no longer strand a completed reply; frozen attempts, Core content and original audience remain intact. Installed/live original-channel qualification stays separate. #5650

Community Contributors

  • @Inference1 — first-time external contributor: four document-version owners, one Lark visibility owner, five shared field vocabularies and one canonical agent-lane progress-scope vocabulary (#5597, #5621, #5684, #5654).
  • @mikamikasuki — first-time external contributor: refresh no-write mutation regression, exact source-session observation and retirement of completed contributor/RFC checkpoints (#5574, #5576, #5577, #5579, #5595, #5601, #5613).
  • @jackie-cqz — external contributor: native child result attribution, public GitHub evidence, shared validation, Windows paths/configuration publication and Chat delivery retry (#5455, #5459, #5526, #5602, #5603, #5606).
  • @Duang777 — external contributor: Goal recreation fences, validated inbox read commits and accountable Goal-level writeback, desktop update-pointer rollback protection and interrupted backup rotation recovery, atomic desktop rollback-bundle replacement, merged-contract compatibility, bounded runtime/configuration recovery and stale desktop update-response fencing (#5338, #5563, #5588, #5645, #5647, #5533, #5693, #5651).
  • @hhyykk — external contributor: one-request TypeScript checkpoint context (#5585).
  • @catwithtudou — external contributor: repository identity normalization for leases and preserved diagnostic chronology (#5572, #5584).
  • @songoow — external contributor: governed delegation stop, native fixture cleanup, exact-target CI recovery and focused smoke governance, impact-scoped CI qualification and background runner demand (#5308, #5534, #5535, #5539, #5567, #5652).
  • @BigDataDZ — external contributor: the committed goal-direction F2 revision-drift fixture (#5549).
  • @maxliux5 — external contributor: personal follow-through documentation consolidated into the existing manager profile (#5384).
  • @AronSwan — external contributor: explicit session input failures and delivery-time payload/transport conflicts, preserving replay identity (#5554).

Documentation & Compatibility

  • Explain what the experiment establishes: The latest bilingual blog separates prompt confounds, task/judge accounting, genuine strategy failure, control-protocol recovery and context cost. It retains failed samples and open causal questions. Newly seeded Harbor/SForge tasks remove unconditional successor-Todo advice; task decomposition remains with the worker. This changes guidance for new/updated phases, while active snapshots, scoring and budgets remain unchanged. #5695 No matched v1.2.4-versus-v1.3.0 outcome trial has been qualified; this release makes no benchmark-score, statistical superiority or long-horizon success-rate claim. #5649, #5635

  • Keep entrypoints current: Wheels ship project-scoped skill sources; current authority-format reads avoid migration locks; refresh authoring help explains the 1,200-character step limit and in-flight versus replan closeout. PR review supports explicit additional owner accounts and per-Agent direction without granting merge authority. #5560, #5661, #5653, #5672, #5608, #5656

  • Make Chat failures observable: Session input and delivery-time payload conflicts remain explicit without changing replay identity; canonical SQLite alignment keeps its original basis. The DSH plug-in is independently released as 0.1.1-beta.6 with a qualified 0.2.0-rc.2 host boundary; install/readback/removal is documented below. #5554, #5686, #5589, #5687

  • Route ordinary work through its actual context: Native-steward provenance reaches context delivery; owner discovery defaults to the registered portfolio. Ordinary project prompts stay focused on workspace work, local Goal admission reuses configured defaults and scope matching, and blocked research plans return structured errors. #5615, #5683, #5659, #5676, #5681

Optional Capability Activation & Use

Explore Harness

Activation: In Goal settings → Capability Center choose evidence or planning. CLI planning opt-in is shown below; the default is off.

Validation: Read turn context and summary for the same Goal/Agent; recorded nodes alone do not prove adoption.

Disable / rollback: Set --explore-mode off --execute; retained evidence stays readable.

Authority boundary: Analysis and planning grant no worker spawning, claims, quota spend, merge or external publication.

Docs: Versioned guide

loopx configure-goal --goal-id "$GOAL_ID" --explore-mode planning --explore-harness-profile adaptive-resilient --execute
loopx explore turn-context --goal-id "$GOAL_ID" --agent-id "$AGENT_ID"
loopx explore summary --goal-id "$GOAL_ID"
loopx configure-goal --goal-id "$GOAL_ID" --explore-mode off --execute

TurnEnvelope and captured decisions

Activation: Opt in per guard invocation with --turn-envelope; add --decision-output-dir only with an explicit Turn id and a new directory whose parent exists.

Validation: Read the returned capture and verify Goal/Agent/Turn, original source hash and ok; observe rejection and incomplete publication honestly.

Disable / rollback: Omit both options. Delete only no-longer-needed private captures through ordinary file management.

Authority boundary: Saved decisions are private observations, not fresh admission; selection, leases, cancellation and mutation-time checks remain mandatory. Frontend/Lark do not consume these files.

Docs: Versioned guide

loopx --format json quota should-run --goal-id "$GOAL_ID" --agent-id "$AGENT_ID" --turn-instance-id "$TURN_ID" --turn-envelope --decision-output-dir ./guard-001
cat ./guard-001/decision.json

Ordinary workspace Chat

Activation: Run loopx chat; in the App steward conversation choose an already granted workspace in Scope. Host-declared roots now default to workspace_write; use the explicit read-only command below when required.

Validation: Read the selected scope, effective grant and returned result in the same conversation. A changed grant creates a new context; old history remains.

Disable / rollback: Restart the service with --project-workspace-grant workspace_read, or revoke the host workspace grant; new work on the old context is rejected.

Authority boundary: Workspace writes follow AGENTS.md and the actual sandbox. No hidden Goal, portfolio grant, peer delegation or external-send authority is created.

Docs: Versioned guide

loopx chat --project-workspace-grant workspace_read --no-open

Owner private Lark conversations

Activation: In Settings → Lark explicitly verify the selected App and personal owner, choose a workspace, executor, grant and ordinary Chat or steward role, then connect. /delegate --tokens N objective requires an original-source confirmation. /agents, /agent TARGET_REF and /project use separately authorized attached-Agent targets. In ordinary project/steward conversations send a PNG/JPEG/GIF/WebP image or image/text post under that same binding; no extra image switch is required. At most four images, 5 MiB each and 12 MiB total.

Validation: In the bound private conversation send /status and /help; verify the App/source, role, workspace grant, original Session/Turn and queue. Inspect the same binding in Settings. Check the original conversation and caption, same Session/Turn, and conclusion returned to the bound private steward. A download failure, unsupported mixed media, control-command image or attached-host image must return an explicit non-execution notice; do not treat its text as executed.

Disable / rollback: Disconnect that exact App binding in Settings → Lark; /stop targets the current ordinary Turn and /stop-commission targets the bound commission. Remove exact Agent target grants separately.

Authority boundary: Personal credentials, source/owner and listener identity remain explicit. Ordinary Chat creates no Goal; commission confirmation does not grant arbitrary writes, automatic heartbeat or canonical task acceptance. Live Lark/mobile qualification is separate. The receiving App alone downloads its canonical message resources. Image bytes and keys stay private; grants are checked again after download and before return.

Docs: Versioned guide

loopx chat --project-workspace-grant workspace_read --no-open
loopx chat --help

Configuration checkpoints

Activation: Settings → Capability Center → Configuration backup and recovery downloads a private checkpoint. CLI export uses a new destination, preview first, then --execute.

Validation: Run configuration-backup verify on the exact file; compare source scope and digest. Integrity verification does not certify privacy.

Disable / rollback: An isolated restored checkpoint can be removed without affecting live settings. Revert any adopted setting through its existing revision-checked editor or machine-config/configure-goal transaction.

Authority boundary: Capture and isolated restore copy no credential store, Host session, grant, provider selection, live registry, fence, lease or scheduler. Backups remain private, including secrets already embedded in configuration.

Docs: Versioned guide

loopx --format json configuration-backup export --goal-id "$GOAL_ID" --output "$NEW_CHECKPOINT_FILE"
loopx --format json configuration-backup export --goal-id "$GOAL_ID" --output "$NEW_CHECKPOINT_FILE" --execute
loopx --format json configuration-backup verify --input "$NEW_CHECKPOINT_FILE"

Canonical new-Goal creation

Activation: In Device defaults → New Goal authority opt in to canonical creation and choose File/SQLite plus soft_claim/hard_lease. The same v1 document uses the existing preview/apply transaction; default remains off.

Validation: Inspect machine settings, bootstrap a new empty project, then read its Todos and native authority receipt; existing Goals are not retargeted.

Disable / rollback: Preview/apply canonical_creation=false to disable future creation, or remove the goal_storage namespace with its exact removal-plan revision. Existing Goals retain storage and fences.

Authority boundary: Storage and execution policy are independent of tools, accounts, network, scheduling and migration authority. Missing authority cannot be recreated as empty by forced bootstrap.

Docs: Versioned guide

loopx machine-config preview --namespace goal_storage --config-json goal-storage.json
loopx machine-config apply --namespace goal_storage --config-json goal-storage.json --expected-plan-revision "$PLAN_REVISION" --execute
loopx machine-config inspect
loopx machine-config remove --namespace goal_storage
  # Review removal, then use its returned revision.
loopx machine-config remove --namespace goal_storage --expected-plan-revision "$REMOVAL_REVISION" --execute

Governed delegation stop

Activation: Use an already configured exact binding, registered requester and operation; delegation stop --execute explicitly requests stop. CLI/MCP and the App team surface share that owner.

Validation: delegation read distinguishes acknowledgement, proved native process drain and settlement. Missing supervision remains unknown and requires the returned recovery.

Disable / rollback: Remove the exact operator binding to revoke new execution; use stop on an active operation. A stopped/settled receipt is not a resume grant.

Authority boundary: Do not infer Host exit, lease release or non-execution from absent records. Windows/unsupported stopping refuses before launch-side cancellation effects.

Docs: Versioned guide

loopx delegation stop --goal-id "$GOAL_ID" --agent-id "$AGENT_ID" --execution-config "$DELEGATION_CONFIG" --operation-id "$OPERATION_ID" --execute
loopx delegation read --goal-id "$GOAL_ID" --agent-id "$AGENT_ID" --execution-config "$DELEGATION_CONFIG" --operation-id "$OPERATION_ID"

PR review queue ownership and direction

Activation: Capability Center configures additional owner logins and forward/reverse direction; Goal CLI can set exact per-Agent direction. Current-session request intake precedes generic queue discovery.

Validation: Inspect configure-goal and the read-only pr-review packet; compare effective accounts, Agent and direction. Queue ownership is separate from GitHub author identity.

Disable / rollback: Use --clear-pr-review-owner-logins --execute, --pr-review-agent-order AGENT=inherit, or --clear-pr-review-configuration --execute. Remove owner_logins from Goal/device settings before downgrading.

Authority boundary: These settings grant no GitHub review, comment, dismissal, merge, cross-Agent write or scheduler authority; review depth and CI policy retain their owner.

Docs: Versioned guide

loopx configure-goal --goal-id "$GOAL_ID" --pr-review-owner-login maintainer --pr-review-agent-order reviewer-a=forward --execute
loopx configure-goal --goal-id "$GOAL_ID"
loopx pr-review --goal-id "$GOAL_ID" --agent-id reviewer-a --repo "$REPOSITORY" --format json
loopx configure-goal --goal-id "$GOAL_ID" --clear-pr-review-configuration --execute

Public GitHub evidence

Activation: Opt in per plan with --public-github and a full commit SHA source; execute --execute authorizes anonymous source reads.

Validation: Read back the exact plan and execution receipt. Parent admit/reject and downstream research-ledger coverage are separate explicit operations.

Disable / rollback: Omit --public-github and --execute; no persistent provider switch is installed. Retire evidence only under the admitted downstream-coverage rules.

Authority boundary: No token, cookie, private repository, mutable branch source, raw-page persistence, automatic admission or outbound message permission. Complete frontend initiation remains open.

Docs: Versioned guide

loopx external-evidence plan --public-github --objective "Inspect public source" --user-activity "Choose a source" --decision "Whether a literal is present" --evidence-kind literal_match --source "$SHA_PINNED_PUBLIC_URL" --search-term LoopX --format json > plan.json
loopx external-evidence execute --plan-json plan.json --execute --format json > execution.json
loopx external-evidence readback --plan-json plan.json --receipt-json execution.json

Managed DeepSeek model selection

Activation: Managed execution now names deepseek-flash@high. Explicit LOOPX_TURN_MODEL/DSH_MODEL or --dsh-model overrides are still honored; configure credentials through the owning provider.

Validation: Read turn run-once --help and the returned runtime profile/actual provider identity; a model alias alone is not live qualification.

Disable / rollback: Set LOOPX_TURN_MODEL to the previous explicitly selected model and restart the owning host. Do not change an existing session silently; omitted configuration restores the shipped managed default.

Authority boundary: A model setting grants no API credential, paid invocation, workspace, permission, Goal or provider promotion authority. CPA routing remains separately installed/operator-owned.

Docs: Versioned guide

LOOPX_TURN_MODEL=deepseek-flash loopx turn run-once --help
  # Explicit rollback selection for the next owning host invocation:
export LOOPX_TURN_MODEL="$PREVIOUS_MODEL"

Finance evidence assessment

Activation: Finance Value Discovery is a separately installed source extension at version 0.8.5; install from the v1.3.0 checkout and register/enable its matching manifest. Select assess-period or assess-cash per command; no automatic assessment switch exists.

Validation: Run extension doctor, then assess-period on a reviewed local input. Producer accuracy, period eligibility, source authenticity and investment truth remain distinct. Use the supplied six-row cash example below; inspect arithmetic residuals, unknowns, source-column/unit/sign and measurement-kind failures. App/Lark cash presentation and production source adoption remain unqualified.

Disable / rollback: Disable loopx-finance-value-discovery with the command below. Retain private account/position observations outside public research projections.

Authority boundary: The package performs deterministic evidence assessments; it grants no investment advice, order, transfer, signing or execution authority. Missing source/timezone/binding evidence stays explicit.

Docs: Versioned guide

  # In a v1.3.0 source checkout:
python3 -m pip install ./packages/loopx-finance-value-discovery
loopx extension install --manifest packages/loopx-finance-value-discovery/extension.toml --execute --format json
loopx extension enable loopx-finance-value-discovery --execute
loopx extension doctor loopx-finance-value-discovery --execute
loopx-finance-value-discovery assess-period --input-json period.json
loopx-finance-value-discovery assess-cash --input-json packages/loopx-finance-value-discovery/examples/cash-reconciliation-v1.json
loopx extension run loopx-finance-value-discovery --input-json packages/loopx-finance-value-discovery/examples/cash-reconciliation-v1.json --execute --format json
loopx extension disable loopx-finance-value-discovery --execute

EdgeBench native trials

Activation: Explicit research-only invocation from a v1.3.0 checkout; Linux, Docker, pinned EdgeBench/SForge/Harbor, selected Codex binary and authorized model access are prerequisites. Use the selected worker and feedback profile. Only heartbeat-resume/explore accept --replan-after-turns 3; Harbor uses explicit replan_after_turns: 3.

Validation: Run --help before the reviewed trial; read session/model, native terminal result, evaluator completion and isolation receipts. Registration and sampling counts do not prove countable outcomes. Its receipt must read replan_after_effective_turns: 3.

Disable / rollback: Do not start another trial; stop the exact owned trial/controller and TLS relay through their existing cancellation lifecycle. Preserve private logs and incomplete results. Omit the Turn option in a new trial to restore legacy three-Todo cadence;never alter an active matched trial.

Authority boundary: A release launches no benchmark jobs. The native judge owns task/scoring; blind policy requires separately qualified credential/network/submission isolation. Raw evidence and secrets remain private.

Docs: Versioned guide

python -m benchmark.edgebench.run --help
  # Paid execution only after the operator reviews task, pin, isolation and budget:
python -m benchmark.edgebench.run --task "$TASK_ID" --tasks-dir "$TASKS_DIR" --log-dir "$PRIVATE_LOG_DIR" --run-id "$UNIQUE_ATTEMPT" --worker heartbeat-resume --model "$MODEL" --effort xhigh --judge-url "$JUDGE_URL"

DSH LoopX plug-in

Activation: Install the separately published 0.1.1-beta.6 into the web profile below. Check DSH compatibility first; the qualified current host is 0.2.0-rc.2. Loading prepares the isolated CLI/skills and GoalBar; the passive Driver activates only after this exact Session invokes the installed loopx skill.

Validation: Check dsh --version, then resolve the exact live Session binding. Require status=bound and one Goal/Agent pair before using GoalBar. Installed files alone do not establish a live binding.

Disable / rollback: Remove dsh-loopx-plugin from the same profile and restart DSH. To roll back, install a retained previous tarball supported by that host; preserve LoopX state.

Authority boundary: Installation may prepare the isolated CLI and skills, but grants no Goal binding, quota spend, model call or execution by itself. LoopX owns Goal/Todo/Agent decisions; no credentials are bundled. GoalBar and Driver use the authenticated local Session boundary.

Docs: Versioned guide

dsh --version
dsh plugin --profile web add "https://github.com/loopx-project/loopx/releases/download/dsh-loopx-plugin-v0.1.1-beta.6/dsh-loopx-plugin-0.1.1-beta.6.tgz"
dsh --profile web --port 0
#After invoking the installed loopx skill in the exact DSH Session:
loopx --registry .loopx/registry.json --format json resolve-agent-thread --host-surface deepseek-harness-native --thread-id "$DSH_SESSION_ID"
dsh plugin --profile web remove dsh-loopx-plugin

Already bound steward inbox execution

Activation: Use an existing reviewed task binding and requester. Configure its existing execution file below, then add the exact {goal_id, agent_id, requester_agent_id, binding_id} row to execution_bindings in the same verified private sources[channel] policy; retain sender_ids. Chat may select that authorized binding in context_handoff. No new task or host is provisioned.

Validation: Read the receiver inbox and exact delegation operation. Delivery, launch submission, receiver adoption, native result, canonical acceptance and original-audience return remain separate. runtime_unverified and refused admission retain their recovery.

Disable / rollback: Remove that exact execution_bindings row from the same source policy to revoke future launches and replays. Inspect and stop any already launched exact operation with delegation stop --execute; stopping the manager does not stop its independent worker.

Authority boundary: Sender/read/context grants do not grant execution. Canonical preflight, registered requester, provider provenance and original Turn remain required. No new scheduling, cross-host launch, arbitrary command, protected write or publication authority; operator-editor/discovery completion remains staged.

Docs: Versioned guide

loopx configure-goal --goal-id "$GOAL_ID" --subagent-execution-config "$BINDING_CONFIG" --execute
loopx manager-inbox status --goal-id "$GOAL_ID" --agent-id "$AGENT_ID"
loopx manager-inbox read --goal-id "$GOAL_ID" --agent-id "$AGENT_ID"
loopx delegation read --goal-id "$GOAL_ID" --agent-id "$AGENT_ID" --execution-config "$BINDING_CONFIG" --operation-id "$OPERATION_ID"
loopx delegation stop --goal-id "$GOAL_ID" --agent-id "$AGENT_ID" --execution-config "$BINDING_CONFIG" --operation-id "$OPERATION_ID" --execute

Independent macOS service and Chat Codex homes

Activation: On macOS use the script from a v1.3.0 checkout and one qualified installed CLI owner. Set CODEX_HOME for service execution and LOOPX_CHAT_CODEX_HOME for Chat explicitly when changing them; omitted selections preserve existing bindings on install/restart. To change Chat storage/timeouts, set LOOPX_CHAT_RUNTIME_ROOT, LOOPX_CHAT_IDLE_TIMEOUT_SECONDS and LOOPX_CHAT_HARD_TIMEOUT_SECONDS before install/restart; omitted values retain saved settings, and invalid input preserves both prior plists.

Validation: Run service status, then inspect the actual running Chat identity and each selected home. Synthetic source checks do not prove login-after-reboot or provider acceptance.

Disable / rollback: Run stop to unload the two owned services or uninstall to remove their two plists. Reinstall the previous package through the same installation owner and restart to roll back; project state and credential homes are retained.

Authority boundary: Choosing a model home does not copy credentials between profiles or grant Goal, workspace-write, provider-call or external-message authority. New scan paths remain discovery inputs, bounded by Core authorization.

Docs: Versioned guide

CODEX_HOME="$EXECUTION_CODEX_HOME" LOOPX_CHAT_CODEX_HOME="$CHAT_CODEX_HOME" bash scripts/macos-dashboard-launchagent.sh install
bash scripts/macos-dashboard-launchagent.sh status
bash scripts/macos-dashboard-launchagent.sh stop
bash scripts/macos-dashboard-launchagent.sh uninstall

Rendered public-source MCP reader

Activation: Explicitly add a unique [mcp_servers.loopx_ego_source_read] to the actual execution host: command is the installed environment Python, args = ["-m", "loopx.extensions.ego_source_reader"], startup_timeout_sec = 30, tool_timeout_sec = 40. Its env must supply the four LOOPX_EGO_READ_* values below. Reserve one existing Ego Page and public origins only; restart the idle host and resume its original Session. The adapter remains a staged integration; native Bot/channel promotion is unqualified.

Validation: Read the stdio tool inventory below, then call read_public_url and read_public_image from that same host with an allowed URL/index. Inspect requested/observed URL, digest, truncation and actual image content; an out-of-origin call must be refused. A text result does not qualify visual understanding or complete article coverage.

Disable / rollback: Remove only that uniquely named MCP entry and restart the idle host. Restore the prior private config/package through the same installation owner when rolling back; preserve other MCP entries and Session bindings.

Authority boundary: Origin setup grants no private/admin-site permission, sandbox change, workspace write, note edit, publication or delegation. Page content is untrusted. Rendered image regions may be occluded; keep the Page exclusively reserved and respect user takeover.

Docs: Versioned guide

export LOOPX_EGO_READ_BIN="$(command -v ego-browser)"
export LOOPX_EGO_READ_TASK_SPACE="$RESERVED_TASK_SPACE_ID"
export LOOPX_EGO_READ_PAGE="$RESERVED_PAGE_LABEL"
export LOOPX_EGO_READ_ORIGINS="https://example.com"
"$LOOPX_ENV_PYTHON" -m loopx.extensions.ego_source_reader <<'JSONL'
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"source-reader-readback","version":"1"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
JSONL

Canonical retirement with an existing successor

Activation: For already promoted canonical Goals, opt in per original guarded Turn with todo supersede --successor-todo-id; use the original Goal/Agent/Todo/Turn and existing successor. Carry the actual lease proof required by that Goal. This is a state mutation without an additional execute flag; it does not enable canonical authority.

Validation: Read todo list for the same Goal after the operation. Verify the original is superseded, links point to existing work, the original lease is released, and successor owner/scope/status/due time are unchanged. Reuse the exact original Turn and unchanged intent after an ambiguous response; replay is not a new lease.

Disable / rollback: Omit the new option to retain the existing prelinked/generated recovery. Missing, self, cross-Goal or mixed generated/existing links refuse before mutation. Unpromoted Markdown requires its existing migration path. Retirement is terminal: do not reset canonical state to undo it; create explicitly authorized corrective work if required.

Authority boundary: The operation grants no new scope, changes no successor requirements or monitor due time, closes no Goal and certifies no deliverable. Original writeback and one quota spend remain separate; Chat/Lark actions and the remaining frontend migration journey are unchanged.

Docs: Versioned guide

loopx --format json todo list --goal-id "$GOAL_ID"
  # Use the current lease key/version returned for the original Todo.
loopx --format json todo supersede --goal-id "$GOAL_ID" --agent-id "$AGENT_ID" --todo-id "$ORIGINAL_TODO_ID" --turn-instance-id "$TURN_INSTANCE_ID" --task-lease-idempotency-key "$TASK_LEASE_IDEMPOTENCY_KEY" --task-lease-expected-version "$TASK_LEASE_EXPECTED_VERSION" --successor-todo-id "$SUCCESSOR_TODO_ID" --reason "Continue through the existing authorized successor"
loopx --format json todo list --goal-id "$GOAL_ID"

Single-material ranked moves and receipt coverage

Activation: Opt in per SDK caller to plan_material_single_move and material_rerank_receipt_chunks. An explicitly activated project source may pass MaterialProjectScope instead of goal_id to existing inventory and intake/rollback builders; exactly one owner is required. Optionally install only the project-local loopx-material skill. Both synthetic previews below change no source; real effects require the original source adapter.

Validation: Run the previews to verify complete ranking, unchanged relative order, 100/67 receipt coverage and project-scoped metadata without a Goal. Read project-local skill status. Actual project intake/rollback requires provider.verify_project_scope to resolve current Core caller, audience, exact profile/store, workspace grant, gate expiry and revocation before access/publication, plus the source transaction fence. Returned metadata is not permission or an applied move.

Disable / rollback: Uninstall the project-local skill with the exact command below and stop invoking the helpers or passing project_scope. Restore a real store only through its verified backup, source adapter, owner gate and rollback contract. Skill removal does not roll back source data.

Authority boundary: References select existing scope and grant no write, private access, scoring change, cutover or automatic reranking. Project intake creates no Goal and borrows no steward authority. Migration, rebuild and Explore keep the Goal route; only existing SDK/provider intake is extended. This experimental slice adds no frontend/Lark/CLI writer, so the broader project-material journey remains partial.

Docs: Versioned guide

loopx project-skill install --project . --skill loopx-material --surface codex --execute
loopx project-skill status --project . --skill loopx-material --surface codex --format json
python - <<'PY_PREVIEW'
from loopx.capabilities.material_lifecycle import plan_material_single_move, material_rerank_receipt_chunks
refs = [f"material:{i}" for i in range(1, 172)]
order, limits = plan_material_single_move(refs, "material:171", 5, protected_material_refs=["material:1"])
assert order == refs[:4] + [refs[-1]] + refs[4:-1]
changed = [ref for rank, ref in enumerate(order, 1) if refs[rank-1] != ref]
chunks = material_rerank_receipt_chunks(changed)
assert [len(part) for part in chunks] == [100, 67]
assert [ref for part in chunks for ref in part] == changed
print("Preview only: 167 affected materials, complete receipt coverage; no source write")
PY_PREVIEW
python - <<'PY_SCOPE'
from loopx.capabilities.material_lifecycle import MaterialProjectScope, build_material_store_inventory
scope = MaterialProjectScope("preview-project", "preview-profile", "preview-grant")
packet = build_material_store_inventory(
    project_scope=scope, store_id="preview-store", store_revision="preview-r1",
    observed_at="2026-10-01T00:00:00Z", source_snapshot_ref="preview-snapshot",
    backup_ref="preview-backup", source_digest="sha256:" + "0" * 64,
    lifecycle_counts={}, stable_ids_verified=False, backup_verified=False,
)
assert "goal_id" not in packet and packet["project_scope"]["project_ref"] == "preview-project"
assert packet["item_count"] == 0
print("Metadata preview only; no Core grant verified or source written")
PY_SCOPE
loopx project-skill uninstall --project . --skill loopx-material --surface codex --execute

Effective-work-Turn review cadence

Activation: Opt in in Capability Center → Goal review cadence by choosing Settled work Turns and a count from 1–5, for the device default or selected Goal. The CLI below explicitly selects three settled work Turns; the legacy completed-Todo default remains unchanged.

Validation: Read configure-goal for the same Goal, then quota should-run for its Agent. The shared TypeScript owner counts distinct settled work Turns after the accepted review checkpoint; duplicate retry, poll, unspent writeback and missing settlement do not count.

Disable / rollback: Clear the effective-Turn Goal override with the command below to restore the current device default. Use the revision-checked device editor to choose completed Todos, or remove todo_replan_cadence to restore the legacy capability default. Preserve existing state and receipts.

Authority boundary: The threshold creates a review obligation; it grants no host scheduling, execution, quota, workspace access or external-write authority. Existing v0 configuration retains its completed-Todo meaning until an explicit editor apply migrates it. An accepted negative work result can count.

Docs: Versioned guide

loopx configure-goal --goal-id "$GOAL_ID" --execution-replan-after-turns 3
loopx configure-goal --goal-id "$GOAL_ID" --execution-replan-after-turns 3 --execute
loopx configure-goal --goal-id "$GOAL_ID"
loopx --format json quota should-run --goal-id "$GOAL_ID" --agent-id "$AGENT_ID"
loopx configure-goal --goal-id "$GOAL_ID" --clear-execution-replan-after-turns --execute

Install / Update

When published, the package version/tag will be 1.3.0 / v1.3.0. Python 3.11+ and Node.js 22.22.3+ remain required. New PyPI installs use:

python3 -m pip install --upgrade loopx
loopx workflow-skills --install
loopx slash-commands --install
loopx doctor

Existing installs preserve their acquisition owner:

loopx update check
loopx update plan
loopx update apply
loopx doctor
loopx extension doctor --all-enabled --execute

The public stable ref resolves to the reviewed v1.3.0 source. Read the package/assets, source manifest and update feed independently, then use doctor and update check to verify your owning installation.

Qualification

Qualified release source: e1dd9e519c3057fda4b3765d0c93e7ae793608bf, tree 92ecd2e76d8bb72cfc7d87487363edecc20990da. Eight required lanes pass: pytest 18,077 passed including subtests/133 skipped, canonical Ruff, mypy19, 4553-file boundary, real1.2.4→1.3.0 wheel/Chat/three-host upgrade,515 public smokes/health,range canary19+5 and DS high22×2/44actors/6contrasts. Raw benchmark hold1 is preserved and independently resolved. Native DS passes2Turns/3settledspends; historical assertion failure remains unattributed. Exact-source qualification is ready. Public GitHub/PyPI packages, source attestations, macOS/Windows assets, signed macOS updater and stable install/update readbacks agree with this source. The attested product/builder record binds the unchanged tag to packages; reviewed fixture recovery and hydration wait restored all46 packaged browser scenarios and the final team-evidence return stage. The first hosted DMG attempt failed without a detailed cause; the same-source macOS retry passed. Native build jobs passed; the maintainer uploaded their verified CI outputs and published the canonical signed feed after cancelling queued publication jobs. Windows native execution, Developer ID/notarization, live Lark/Bot channels and missing Harbor/SForge/PostgreSQL/NoKV environments remain unqualified.

Turn/diagnostic presentation ceilings are15,000/45,000 JSON characters after identical14,647/44,126 outputs exceeded14,600/44,000. Monitor retains2,000 and all settlement assertions with a physically stable fixture. These are not token/fee budgets or promotion criteria. No matched version outcome uplift is claimed.

中文摘要

主题:长程 benchmark 与 Astra 辅助工程推动语义控制面质量提升。 重点是续接正确工作、让证据进入重规划,以及按原权限恢复和结算。最新 blog 保留实验混杂、评分修复、真实策略失败及开放问题。Astra 是开发与语义审查主线;本文 EdgeBench worker 实验使用的基础模型仍为 gpt-6.1-sol / xhigh。

v1.3.0已发布;公开包、桌面资产和stable升级均已核验。 个人图文发布指南已核验个人归属、正式版界面图、完整正文及图像回读;沿用现有飞书访问范围。

升级决策

**谁需要升级:**需要持续 Codex 工作、证据驱动重规划或普通 workspace Chat 的用户可升级到v1.3.0;当前满足需求的v1.2.4用户也可保留现有安装。

**解决了什么:**早期有效结果被重复观察淹没、已知 replan 仍要求失败重入、任务步骤与权限/结算提示错位;本次集合这些有界修复,并改善 workspace 对话与配置恢复。

**是否有破坏性变更:**无主动 breaking migration。host-declared project Chat 新默认 workspace_write,需只读时显式选择 workspace_read,旧 App 只读 grant 保留。新生成结算命令自带位置正确的 JSON 参数,历史命令与直接 CLI 默认不变。managed 模型命名改为 deepseek-flash,明确旧配置保持优先。canonical 新 Goal 与 Explore 执行保持 opt-in,不迁移已有 Goal。

**如何验证:**正式升级后期望 loopx 1.3.0、健康安装及正确作用域状态。使用上方 loopx --version、loopx doctor、loopx --format json status 与 loopx diagnose --goal-id "$GOAL_ID",遇到 unavailable/blocked 先恢复再工作。

贡献者:@Inference1、@Duang777及下方另外八位社区贡献者均对应 v1.2.4 到v1.3.0的实际交付代码,列出具体贡献与相关 PR。

状态内核与控制面

  • 模型繁忙时如实恢复: 识别 typed overload,先看原 status/已有结果再决定稍后重试;保留原 Session/Turn,不自动重放、换模型或创建替代会话。#5657

  • 确认完整运行时退役: stopped 等待定位锁与清理文件退役;不可读状态保留 pending,替代 runtime 状态保留。共享自适应答案按既有完整回答合同验证。#5707、#5704

  • **续接正确任务:**下一步写回绑定 Todo、Agent 与当前依据,同时保留真实的 Goal 级责任写回;旧步骤和无关任务不能覆盖当前工作。#5531, #5588

  • **让证据改变下一步:**重规划保留结果与路线差异,并可恢复被省略历史;显式后继选择可在一次 CLI 调用内完成已知重规划准入,新 vision gap 仍会重新触发。#5536, #5624, #5628, #5646

  • **按原权限结算:**checkpoint 恢复、未改产物/负证据与 vision 收口采用规范计划;完整包和短包保留条件、身份及可直接执行的 JSON 命令。#5573, #5629, #5633, #5640, #5636, #5667, #5672

  • **区分拒绝与故障:**宿主权限错误保留可操作恢复,隔离编辑保留完整依据;委派停止区分已接收、真实进程退出与 lease 结算。#5644, #5587, #5308

  • 分清生命周期元数据与执行: Codex 写恢复在启动变更 sandbox 的 Host 前拒绝 lifecycle-only 配置;合法范围内的连续恢复保持支持。规范既有 successor 可在一次终态事务中关联与退休,不重写其要求。 #5700、#5698。

  • 长任务尚未结束也可复核: 显式选择已结算工作Turn节奏,保持旧完成Todo默认(#5699);Task inspector在原位置读取当前阻塞原因及恢复办法(#5568)。

能力与工作流

  • 项目 intake 保留原来源权限: 已显式激活的 SDK source 可使用既有 project/profile/grant context,无需创建 Goal;仍须当前 Core 授权与来源 transaction fence。更广 frontend/Lark/CLI writer 旅程保持 partial。#5562

  • 移动一份排名材料而不丢失 backlog: SDK preview 保留其他条目相对顺序与显式 protected ranks;分块既有 receipts 覆盖同一原子变更的全部受影响材料,包括超过 100 条的位移。来源 apply/CAS/rollback 仍由 adapter 与 owner gate 管理。 #5611。

  • **普通轮可使用 Explore Harness:**证据与规划模式复用已有 owner 和轮前入口,finding 标题保留;开启、读取与决策改变仍是独立证据。#5610, #5658

  • **直接处理工作区请求:**Agent 的 read-only 会话在原来源批准整个 workspace 写入后,可在其余 profile 一致时续用原 Session;无效到期值继续拒绝。#5620。App 的 Scope 选择器沿用原 composer,无须创建 Goal;写入受宿主 grant 约束,撤权或上下文变化后拒绝新工作。#5540, #5555

  • **显式恢复配置:**导出并验证完整存储配置,只恢复到隔离 checkpoint;设备设置可为未来空 Goal 选择规范 File/SQLite 与冻结策略,已有 Goal 保持归属。#5557, #5569

  • **读取公开 GitHub 证据:**匿名 provider 按 SHA 取有限来源,父 Agent 采纳与下游账本回读分开;已交付 CLI/provider 和会话回读,完整前端发起/采纳仍为阶段边界。#5459

  • **保持桌面更新与恢复可靠:**晚到的旧更新状态不能覆盖较新的 Restart 状态或再次显示 Apply。#5693, #5651。更新 channel pointer 防止回退,已中断的备份轮换通过已有 owner 恢复。#5645, #5647

质量与测试

  • 保留 provider 原文与失败身份: 显式 UTF-8 避免宿主默认编码破坏证据;Darwin 只有确认 owned group 已不存在才接受其权限错误。活跃后代与不确定观察仍是失败,Lark 恢复保持已知 ID/未知结果 fence。 #5702。

  • **验证语义并退役重复规则:**原生 child 回执保持续接结果归属,停止验证保留真实 drain 义务;删除冗余 smoke、Python Todo 适配与无用 shadow producer,文档版本和 Lark visibility 复用各自 owner。#5455, #5539, #5613, #5621, #5597, #5664, #5666, #5670

  • **减少有界预检开销:**Turn/MCP 复用类型化投影,checkpoint context 合并为一次 TS 请求;这不等于多日稳定性或模型效率验收完成。#5283, #5585

基准与集成

  • **用受控 profile 诊断长程工作:**EdgeBench 接入五种 worker,整场 deadline、终态显示与可运行后继各守生命周期;反馈政策与 evaluator 隔离明确区分。#5591, #5600, #5618, #5617, #5635

  • **私聊 Lark 复用工作区 owner:**图片/图文复用原 Session/Turn,由接收 App 下载并再次核验权限,不支持的媒体明确不执行;worker 结论回到原绑定私聊。#5581、#5622。明确 App/source 绑定支持普通对话、确认委托、作用域 status/help 与授权 Agent 选择;单 listener 与耐久请求保持原受众,安装/真实飞书和手机验收另行判断。#5541, #5542, #5544, #5546, #5550, #5637

  • **更明确的 provider 观察:**来源列六项现金金额可推导带符号 net-capex/adjusted-FCF,对缺失、冲突、符号/单位和显示精度错误保持明确拒绝;现金评估是 CLI/provider 前置阶段,App/Lark 呈现和真实来源 provider 未获资格,不授予财务/交易执行权。#5694。managed 模型使用 DeepSeek V4.1 Flash 名称,Ark 行可由 operator 配置;Finance 0.8.5 区分 producer 精度、编码期间与父调用者声明的经济期间,持仓守护的保护读回不授予交易权限。#5561, #5631, #5521

  • **超时私聊仍回到原路由:**保留的终态结果通过已有私聊生命周期返回,不把首次超时回复称为成功。#5607

  • **只执行已绑定的 inbox 工作:**sender-bound policy 可另行授权已有 Goal/Agent/task binding;canonical preflight、receiver 验收与送达/启动分开,发现及 operator editor 的完整交付仍分阶段。#5634

  • **服务与 Chat 的模型 HOME 独立:**macOS LaunchAgent 分别保留执行用 CODEX_HOME 和 LOOPX_CHAT_CODEX_HOME,升级沿用各自绑定。#5626 已保存的 Chat 存储和执行超时在重装/重启后保留;非法输入保留两份原服务定义。#5714

  • **检查源码引用而不遮住真实值:**公开源码扫描接受完整的 Basic 变量模板,实际凭据和混合值仍被拒绝。#5696

  • 复用保留的浏览器 Page 读取: 显式 MCP 适配器返回有界公共来源正文与真实渲染图片;原生 Bot/原渠道晋升仍未资格化。 #5630。

  • 私聊回复采用惰性展示: 引用 handle 或错误 mention 展示不再滞留已经完成的回复;冻结尝试、Core 正文和原 audience 保持不变。安装版/live 原渠道资格仍单独验证。 #5650。

社区贡献者

  • @Inference1 — 首次外部贡献者:四个文档版本 owner、单一 Lark visibility owner、五组共享字段词汇及 Agent 执行通道进展范围的统一词汇归属(#5597, #5621、#5684、#5654)。
  • @mikamikasuki — 首次外部贡献者:refresh 无写入 mutation 回归、精确 source-session 观察及已交付贡献/RFC 检查点退役(#5574, #5576, #5577, #5579, #5595, #5601, #5613)。
  • @jackie-cqz — 外部贡献者:原生 child 结果归属、公开 GitHub 证据、共享验证、Windows 路径/配置发布及 Chat 交付重试(#5455, #5459, #5526, #5602, #5603, #5606)。
  • @Duang777 — 外部贡献者:Goal 重建 fence、校验后的 inbox 读取提交与 Goal 级责任写回、桌面更新指针防回退与中断备份轮换恢复、已合并契约兼容性、有界 runtime/配置恢复、桌面过时更新响应 fence 和桌面回滚包原子替换(#5338, #5563, #5588, #5645, #5647, #5533, #5693, #5651)。
  • @hhyykk — 外部贡献者:单次 TS 请求的 checkpoint context(#5585)。
  • @catwithtudou — 外部贡献者:lease 仓库身份归一及诊断时间顺序(#5572, #5584)。
  • @songoow — 外部贡献者:受治理委派停止、原生 fixture 清理、精确目标 CI 恢复与 smoke 治理、按影响范围选择 CI 资格验证并约束后台 runner 需求(#5308, #5534, #5535, #5539, #5567, #5652)。
  • @BigDataDZ — 外部贡献者:Goal direction F2 revision-drift fixture(#5549)。
  • @maxliux5 — 外部贡献者:将个人 follow-through 文档归并到已有 manager profile(#5384)。
  • @AronSwan — 外部贡献者:会话输入失败及交付时 payload/transport 冲突的明确处理,保持 replay 身份(#5554)。

文档与兼容性

  • **说明实验到底证明了什么:**新建/更新的 Harbor/SForge 阶段不再无条件要求拆 successor Todo,分解由 worker 按任务决定;这是默认指导变更,运行中快照、评分与预算不变。#5695。最新中英 blog 区分提示混杂、评分账本、策略失败、协议恢复和上下文成本,保留失败与因果问题。本次未完成 v1.2.4/v1.3.0 配对 outcome 验证,不声明 benchmark 涨分、统计优越性或长程成功率提升。#5649, #5635

  • **保持入口可用:**wheel 交付项目 skill,当前 authority 格式读取无需迁移锁;refresh help 解释 1,200 字符限制与 in-flight/replan 边界;PR review 支持 owner 列表与 Agent 方向,但不增加合并权限。#5560, #5661, #5653, #5672, #5608, #5656

  • **让 Chat 失败可见:**会话输入和交付时 payload 冲突保持明确,原 replay 身份不变;规范 SQLite alignment 保留原始 basis。DSH 插件独立发布为 0.1.1-beta.6,当前宿主资格边界为 0.2.0-rc.2;启用、读回和移除见下文。#5554, #5686, #5589, #5687

  • **让普通工作使用实际上下文:**native steward 的 provenance 进入上下文交付;owner discovery 默认读取已登记 portfolio。普通项目提示聚焦 workspace 工作,本地 Goal 准入复用既有默认配置与 scope matching,被阻塞的 research plan 返回结构化错误。#5615, #5683, #5659, #5676, #5681

可选能力启用与使用

Explore Harness

启用: 在 Goal 设置 → 能力中心选择 evidence 或 planning;下方命令启用 planning,默认关闭。

验证: 读取同一 Goal/Agent 的 turn-context 与 summary;节点存在不等于已采用。

停用 / 回退: 执行 --explore-mode off --execute;保留既有证据。

权限边界: 分析与规划不授予 spawn、claim、扣额、合并或外发权限。

文档: 固定版本指南

loopx configure-goal --goal-id "$GOAL_ID" --explore-mode planning --explore-harness-profile adaptive-resilient --execute
loopx explore turn-context --goal-id "$GOAL_ID" --agent-id "$AGENT_ID"
loopx explore summary --goal-id "$GOAL_ID"
loopx configure-goal --goal-id "$GOAL_ID" --explore-mode off --execute

TurnEnvelope and captured decisions

启用: 每次 guard 显式加 --turn-envelope;保存完整 decision 还需明确 Turn id、已存在父目录与全新目标目录。

验证: 读取 capture,核对 Goal/Agent/Turn、原始 source hash 与 ok;拒绝或不完整保存不可当成功。

停用 / 回退: 省略两个参数;仅通过普通文件管理删除不再需要的私有 capture。

权限边界: 旧观察不提供新准入;选择、lease、取消与写入时校验仍有效。frontend/Lark 不消费这些文件。

文档: 固定版本指南

loopx --format json quota should-run --goal-id "$GOAL_ID" --agent-id "$AGENT_ID" --turn-instance-id "$TURN_ID" --turn-envelope --decision-output-dir ./guard-001
cat ./guard-001/decision.json

Ordinary workspace Chat

启用: 运行 loopx chat,在管家对话的 Scope 选择已授权 workspace。宿主声明的目录默认 workspace_write;需要只读时用下方命令。

验证: 核对 Scope、生效 grant 与同一对话的结果;grant 改变创建新上下文,旧历史保留。

停用 / 回退: 以 --project-workspace-grant workspace_read 重启服务,或撤销宿主 workspace grant;旧上下文的新工作被拒绝。

权限边界: 写入遵循 AGENTS.md 与实际 sandbox;不创建隐藏 Goal,不借 portfolio、peer 委派或外发权限。

文档: 固定版本指南

loopx chat --project-workspace-grant workspace_read --no-open

Owner private Lark conversations

启用: 在设置 → Lark 核验 App 与个人 owner,选择 workspace、executor、grant 和普通 Chat/管家角色后连接。/delegate --tokens N objective 需原来源确认;/agents、/agent TARGET_REF、/project 使用另行授权目标。 在同一普通项目/管家私聊发送 PNG/JPEG/GIF/WebP 图片或图文,不需要额外图片开关;最多 4 张、每张 5 MiB、总计 12 MiB。

验证: 在绑定私聊发送 /status、/help,核对 App/source、角色、workspace grant、原 Session/Turn 与队列;设置回读同一绑定。 核对原对话、caption、同一 Session/Turn,以及回到绑定私聊的结论;下载失败、不支持的混合媒体、控制命令图片或附着宿主图片应明确告知未执行,不能把其中的文字当成功执行。

停用 / 回退: 在设置 → Lark 断开精确 App;/stop 停止普通 Turn,/stop-commission 停止绑定委托;另行撤销精确 Agent grant。

权限边界: 个人凭据、source/owner、listener 身份仍明确。普通 Chat 不创建 Goal,委托确认不授予任意写入、自动 heartbeat 或规范任务验收。真实 Lark/手机资格另行验收。 接收 App 仅下载其规范消息的资源;图片字节和资源 key 保持私有,下载后和返回前再次检查 grants。

文档: 固定版本指南

loopx chat --project-workspace-grant workspace_read --no-open
loopx chat --help

Configuration checkpoints

启用: 设置 → 能力中心 → 配置备份与恢复可下载私有 checkpoint;CLI export 使用新目标,先预览再 --execute。

验证: 对精确文件运行 configuration-backup verify,核对来源范围与摘要;完整性不证明隐私安全。

停用 / 回退: 未采用的隔离 checkpoint 可删除而不影响 live settings;已采用设置通过已有 revision 校验 editor 或 machine-config/configure-goal 回退。

权限边界: 不复制 credential store、Host session、grant、live registry、fence、lease 或 scheduler;配置本来包含的秘密仍属私有。

文档: 固定版本指南

loopx --format json configuration-backup export --goal-id "$GOAL_ID" --output "$NEW_CHECKPOINT_FILE"
loopx --format json configuration-backup export --goal-id "$GOAL_ID" --output "$NEW_CHECKPOINT_FILE" --execute
loopx --format json configuration-backup verify --input "$NEW_CHECKPOINT_FILE"

Canonical new-Goal creation

启用: 设备默认 → 新 Goal 的权威存储显式启用 canonical creation,选择 File/SQLite 及 soft_claim/hard_lease;v1 document 采用已有 preview/apply,默认关闭。

验证: inspect 后 bootstrap 新空项目,再读 Todos 和原生 authority receipt;已有 Goal 不改目标。

停用 / 回退: 预览/应用 canonical_creation=false 关闭未来创建,或按精确 removal-plan revision 删除 goal_storage namespace;已有存储与 fence 保持。

权限边界: 存储/执行策略不授权工具、账号、网络、调度或迁移;丢失的 authority 不能以 forced bootstrap 当空数据重建。

文档: 固定版本指南

loopx machine-config preview --namespace goal_storage --config-json goal-storage.json
loopx machine-config apply --namespace goal_storage --config-json goal-storage.json --expected-plan-revision "$PLAN_REVISION" --execute
loopx machine-config inspect
loopx machine-config remove --namespace goal_storage
  # Review removal, then use its returned revision.
loopx machine-config remove --namespace goal_storage --expected-plan-revision "$REMOVAL_REVISION" --execute

Governed delegation stop

启用: 使用已配置的精确 binding、注册 requester 与 operation,delegation stop --execute 显式请求停止;CLI/MCP 与 App 团队表面复用 owner。

验证: delegation read 区分确认、已证明的原生进程 drain 与结算;监督缺失保持 unknown,执行返回的恢复路径。

停用 / 回退: 移除精确 operator binding 撤销新执行,对 active operation 请求 stop;停止/结算回执不是 resume grant。

权限边界: 缺少记录不证明 Host 退出、lease 释放或未执行;不支持的停止平台在 launch-side 取消效果之前拒绝。

文档: 固定版本指南

loopx delegation stop --goal-id "$GOAL_ID" --agent-id "$AGENT_ID" --execution-config "$DELEGATION_CONFIG" --operation-id "$OPERATION_ID" --execute
loopx delegation read --goal-id "$GOAL_ID" --agent-id "$AGENT_ID" --execution-config "$DELEGATION_CONFIG" --operation-id "$OPERATION_ID"

PR review queue ownership and direction

启用: 能力中心配置额外 owner 登录名与 forward/reverse;Goal CLI 可设置精确 Agent 方向。当前会话请求先于普通队列发现。

验证: 读取 configure-goal 与只读 pr-review packet,核对实际账号、Agent 和方向;queue owner 不等于 GitHub author。

停用 / 回退: 用 --clear-pr-review-owner-logins --execute、--pr-review-agent-order AGENT=inherit 或 --clear-pr-review-configuration --execute;降级前移除 Goal/设备 owner_logins。

权限边界: 不授予 GitHub review、comment、dismiss、merge、跨 Agent 写入或调度权限;review 深度和 CI policy 沿用已有 owner。

文档: 固定版本指南

loopx configure-goal --goal-id "$GOAL_ID" --pr-review-owner-login maintainer --pr-review-agent-order reviewer-a=forward --execute
loopx configure-goal --goal-id "$GOAL_ID"
loopx pr-review --goal-id "$GOAL_ID" --agent-id reviewer-a --repo "$REPOSITORY" --format json
loopx configure-goal --goal-id "$GOAL_ID" --clear-pr-review-configuration --execute

Public GitHub evidence

启用: 每个 plan 使用 --public-github 和完整 SHA 来源;execute --execute 只授权匿名来源读取。

验证: 回读精确 plan/execution receipt;父采纳/拒绝与研究账本覆盖另行显式操作。

停用 / 回退: 省略 --public-github 与 --execute;没有持久 provider switch。证据退休仍遵循采纳与下游覆盖规则。

权限边界: 不使用 token、cookie、私有仓库、可变分支、原始页面持久化、自动采纳或外发权限;完整 frontend 发起仍开放。

文档: 固定版本指南

loopx external-evidence plan --public-github --objective "Inspect public source" --user-activity "Choose a source" --decision "Whether a literal is present" --evidence-kind literal_match --source "$SHA_PINNED_PUBLIC_URL" --search-term LoopX --format json > plan.json
loopx external-evidence execute --plan-json plan.json --execute --format json > execution.json
loopx external-evidence readback --plan-json plan.json --receipt-json execution.json

Managed DeepSeek model selection

启用: managed execution 使用 deepseek-flash@high;显式 LOOPX_TURN_MODEL/DSH_MODEL 或 --dsh-model 仍优先,凭据由 provider 配置。

验证: 读 turn run-once --help 及返回的 runtime profile/实际 provider 身份;alias 本身不证明 live qualification。

停用 / 回退: 将 LOOPX_TURN_MODEL 设置为之前明确选择的模型,重启 owning host;不要静默修改旧 session;省略配置恢复 shipped managed default。

权限边界: 模型设置不提供 API 凭据、付费调用、workspace、Goal 或 provider 晋升权限;CPA route 仍为独立 operator-owned 部署。

文档: 固定版本指南

LOOPX_TURN_MODEL=deepseek-flash loopx turn run-once --help
  # Explicit rollback selection for the next owning host invocation:
export LOOPX_TURN_MODEL="$PREVIOUS_MODEL"

Finance evidence assessment

启用: Finance Value Discovery 是单独安装的源码 extension,版本 0.8.5;从 v1.3.0 checkout 安装并登记/启用匹配 manifest。每次明确选择 assess-period 或 assess-cash,不自动运行评估。

验证: 运行 extension doctor,再对已审阅本地输入 assess-period;producer 精度、期间资格、来源真实性与投资真值分开。 下方六行现金示例检查算术 residual、unknown、来源列/单位/符号和 measurement-kind 失败;App/Lark 现金呈现与真实来源采纳仍未获资格。

停用 / 回退: 用下方命令 disable loopx-finance-value-discovery;私有账户/持仓观察不放公开研究投影。

权限边界: 只做确定性证据评估,不授予投资建议、下单、转账、签名或执行权限;来源/timezone/binding 缺失保持明确。

文档: 固定版本指南

  # In a v1.3.0 source checkout:
python3 -m pip install ./packages/loopx-finance-value-discovery
loopx extension install --manifest packages/loopx-finance-value-discovery/extension.toml --execute --format json
loopx extension enable loopx-finance-value-discovery --execute
loopx extension doctor loopx-finance-value-discovery --execute
loopx-finance-value-discovery assess-period --input-json period.json
loopx-finance-value-discovery assess-cash --input-json packages/loopx-finance-value-discovery/examples/cash-reconciliation-v1.json
loopx extension run loopx-finance-value-discovery --input-json packages/loopx-finance-value-discovery/examples/cash-reconciliation-v1.json --execute --format json
loopx extension disable loopx-finance-value-discovery --execute

EdgeBench native trials

启用: 仅在 v1.3.0 checkout 中显式启动研究:需要 Linux、Docker、固定 EdgeBench/SForge/Harbor、选定 Codex 与已授权模型。明确 worker 和反馈 profile。 仅heartbeat-resume/explore接受--replan-after-turns 3,Harbor显式设置replan_after_turns: 3。

验证: 先 --help 再审阅试验命令;回读 session/model、终态、评测完成与隔离回执。注册/采样计数不证明有效 outcome。 回执须显示replan_after_effective_turns: 3。

停用 / 回退: 不再启动新试验;按已有 cancellation lifecycle 停止精确 trial/controller 与 TLS relay,保留私有日志和未完成结果。 新trial省略Turn选项可恢复旧三Todo节奏,不能改正在匹配的trial。

权限边界: 发布不会启动 benchmark;judge 拥有任务/评分,blind 还需凭据、网络、提交资格隔离验收;原始证据与秘密保持私有。

文档: 固定版本指南

python -m benchmark.edgebench.run --help
  # Paid execution only after the operator reviews task, pin, isolation and budget:
python -m benchmark.edgebench.run --task "$TASK_ID" --tasks-dir "$TASKS_DIR" --log-dir "$PRIVATE_LOG_DIR" --run-id "$UNIQUE_ATTEMPT" --worker heartbeat-resume --model "$MODEL" --effort xhigh --judge-url "$JUDGE_URL"

DSH LoopX plug-in

启用: 按下方命令将独立发布的 0.1.1-beta.6 安装到 web profile,先核对 DSH 兼容范围;当前已资格验证宿主为 0.2.0-rc.2。加载准备隔离 CLI/skills 和 GoalBar;Driver 仅在这个精确 Session 调用已安装 loopx skill 后激活。

验证: 读 dsh --version,再解析精确 live Session 的绑定,要求 status=bound 且唯一 Goal/Agent 对。文件已安装不等于 Session 已绑定。

停用 / 回退: 从同一 profile remove dsh-loopx-plugin 后重启 DSH。回退时安装预先保留且与宿主兼容的旧 tarball,保留 LoopX 状态。

权限边界: 安装可以准备隔离 CLI 与 skills,本身不授予 Goal 绑定、扣额、模型调用或执行权限。Goal/Todo/Agent 决策仍由 LoopX 管理;包不含凭据,GoalBar/Driver 使用已认证本地 Session 边界。

文档: 固定版本指南

dsh --version
dsh plugin --profile web add "https://github.com/loopx-project/loopx/releases/download/dsh-loopx-plugin-v0.1.1-beta.6/dsh-loopx-plugin-0.1.1-beta.6.tgz"
dsh --profile web --port 0
#After invoking the installed loopx skill in the exact DSH Session:
loopx --registry .loopx/registry.json --format json resolve-agent-thread --host-surface deepseek-harness-native --thread-id "$DSH_SESSION_ID"
dsh plugin --profile web remove dsh-loopx-plugin

Already bound steward inbox execution

启用: 使用已审阅的已有 task binding 与 requester;下方配置现有 execution 文件,再将精确 {goal_id, agent_id, requester_agent_id, binding_id} 条目加入同一已核验私有 sources[channel] policy 的 execution_bindings,保留 sender_ids。Chat 可在 context_handoff 选择此授权绑定,不创建 task 或 host。

验证: 回读 receiver inbox 和精确 delegation operation;送达、提交启动、接收采纳、原生结果、规范验收与原 audience 返回分开。runtime_unverified 或准入拒绝保持明确恢复路径。

停用 / 回退: 删除同一 source policy 的精确 execution_bindings 条目,撤销后续启动与回放;已启动 operation 用 delegation stop --execute 检查/停止。停止管家不停止独立 worker。

权限边界: sender/read/context grant 不提供执行权;canonical preflight、注册 requester、provider provenance 与原 Turn 仍必需。不授予新调度、跨 host 启动、任意命令、保护写入或发布;operator editor/发现完整交付仍分阶段。

文档: 固定版本指南

loopx configure-goal --goal-id "$GOAL_ID" --subagent-execution-config "$BINDING_CONFIG" --execute
loopx manager-inbox status --goal-id "$GOAL_ID" --agent-id "$AGENT_ID"
loopx manager-inbox read --goal-id "$GOAL_ID" --agent-id "$AGENT_ID"
loopx delegation read --goal-id "$GOAL_ID" --agent-id "$AGENT_ID" --execution-config "$BINDING_CONFIG" --operation-id "$OPERATION_ID"
loopx delegation stop --goal-id "$GOAL_ID" --agent-id "$AGENT_ID" --execution-config "$BINDING_CONFIG" --operation-id "$OPERATION_ID" --execute

Independent macOS service and Chat Codex homes

启用: 在 macOS 使用 v1.3.0 checkout 的脚本和一个已资格验证的 installed CLI owner。需要改变时分别显式设置执行用 CODEX_HOME 与 Chat 用 LOOPX_CHAT_CODEX_HOME;省略选择时 install/restart 保留已有绑定。 改变 Chat 存储/超时前显式设置 LOOPX_CHAT_RUNTIME_ROOT、LOOPX_CHAT_IDLE_TIMEOUT_SECONDS 和 LOOPX_CHAT_HARD_TIMEOUT_SECONDS;省略保留已存值,非法输入保留两份原 plist。

验证: 运行 service status,再读实际运行的 Chat identity 和各自选择的 home;合成源码检查不证明登录后重启或真实 provider 接受。

停用 / 回退: 运行 stop 卸载两个 owned service,或 uninstall 删除其两个 plist;通过同一安装 owner 恢复之前的包并 restart 回退,保留项目状态与 credential home。

权限边界: 选择模型 home 不复制不同 profile 凭据,不授予 Goal、workspace 写入、provider 调用或外发权限;scan path 只负责发现,仍由 Core 授权约束。

文档: 固定版本指南

CODEX_HOME="$EXECUTION_CODEX_HOME" LOOPX_CHAT_CODEX_HOME="$CHAT_CODEX_HOME" bash scripts/macos-dashboard-launchagent.sh install
bash scripts/macos-dashboard-launchagent.sh status
bash scripts/macos-dashboard-launchagent.sh stop
bash scripts/macos-dashboard-launchagent.sh uninstall

Rendered public-source MCP reader

启用: 在实际执行宿主中显式添加唯一 [mcp_servers.loopx_ego_source_read]:command 为安装环境的 Python,args = ["-m", "loopx.extensions.ego_source_reader"]、startup_timeout_sec = 30、tool_timeout_sec = 40;env 必须配置下方四个 LOOPX_EGO_READ_* 值。保留一个既有 Ego Page,仅允许任务需要的公共 origin;重启空闲宿主后恢复原 Session。适配器属于分阶段集成,原生 Bot/原渠道晋升未资格化。

验证: 先读下方 stdio 工具清单,再由原宿主对允许的 URL/index 调用 read_public_url 与 read_public_image;核对 requested/observed URL、digest、truncation 和真实 ImageContent,并确认越界 URL 被拒绝。正文读取不等于图片理解或文章完整覆盖。

停用 / 回退: 仅删除该唯一 MCP 配置项并重启空闲宿主;回退时由同一安装 owner 恢复私有备份/旧包,保留其他 MCP 项与 Session 绑定。

权限边界: origin 配置不授予私有/管理站点访问、sandbox 变更、workspace 写入、笔记编辑、发布或委派;页面内容是非可信证据。图片是可能被遮挡的渲染区域,Page 必须独占保留并遵守用户接管。

文档: 固定版本指南

export LOOPX_EGO_READ_BIN="$(command -v ego-browser)"
export LOOPX_EGO_READ_TASK_SPACE="$RESERVED_TASK_SPACE_ID"
export LOOPX_EGO_READ_PAGE="$RESERVED_PAGE_LABEL"
export LOOPX_EGO_READ_ORIGINS="https://example.com"
"$LOOPX_ENV_PYTHON" -m loopx.extensions.ego_source_reader <<'JSONL'
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"source-reader-readback","version":"1"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
JSONL

Canonical retirement with an existing successor

启用: 仅在已晋升 canonical 的 Goal 中,对原 guard Turn 每次显式使用 todo supersede --successor-todo-id;填写原 Goal/Agent/Todo/Turn 和既有 successor,并携带该 Goal 要求的真实 lease proof。这是直接状态写入,不需额外 execute flag,也不启用 canonical 权威。

验证: 操作后对同一 Goal 读取 todo list:核对前项已 superseded、既有 successor 链、原 lease 已释放,successor 的 owner/scope/status/due time 未改。响应含糊时复用原 Turn 与完全相同 intent;receipt replay 不代表新 lease。

停用 / 回退: 不加新选项可保留旧的预先关联/生成 successor 流程;缺失、自关联、跨 Goal 或混合 intent 在写前拒绝。未晋升 Markdown 走既有迁移流程。退休是终态,不通过重置权威状态回滚;如需纠正,创建明确授权的修复工作。

权限边界: 不增授范围,不改 successor 要求或 Monitor 到期时间,不关闭 Goal,也不认证产物;原 writeback 与唯一 quota spend 仍独立。Chat/Lark 操作与尚未完成的前端迁移旅程保持原边界。

文档: 固定版本指南

loopx --format json todo list --goal-id "$GOAL_ID"
  # Use the current lease key/version returned for the original Todo.
loopx --format json todo supersede --goal-id "$GOAL_ID" --agent-id "$AGENT_ID" --todo-id "$ORIGINAL_TODO_ID" --turn-instance-id "$TURN_INSTANCE_ID" --task-lease-idempotency-key "$TASK_LEASE_IDEMPOTENCY_KEY" --task-lease-expected-version "$TASK_LEASE_EXPECTED_VERSION" --successor-todo-id "$SUCCESSOR_TODO_ID" --reason "Continue through the existing authorized successor"
loopx --format json todo list --goal-id "$GOAL_ID"

Single-material ranked moves and receipt coverage

启用: 每个 SDK caller 显式调用 plan_material_single_move 与 material_rerank_receipt_chunks;已明确激活的项目 source 可在既有 inventory、intake/rollback builder 中传 MaterialProjectScope 代替 goal_id,必须二选一。可仅安装项目本地 loopx-material skill。下方两个合成 preview 不改变来源;真实效果仍需原 source adapter。

验证: 运行 preview 核对完整排名、其他条目相对顺序、100/67 回执覆盖,以及无需 Goal 的 project scope 元数据,再读 skill status。真实 project intake/rollback 的 provider.verify_project_scope 必须在访问/发布前解析当前 Core caller、audience、精确 profile/store、workspace grant、gate 到期与撤销状态,并保留来源 transaction fence。元数据不等于权限或已应用操作。

停用 / 回退: 按下方命令卸载项目本地 skill,停止调用 helpers 或传 project_scope;真实 store 只经既有已验证 backup、source adapter、owner gate 和 rollback 合同恢复。卸载 skill 不回退来源数据。

权限边界: 引用只选择已有 scope,不增授写入、私有访问、评分变更、cutover 或自动重排。项目 intake 不创建 Goal、不借用管家权限。migration、rebuild 和 Explore 保留 Goal 路径;本次只扩展既有 SDK/provider intake。实验性 slice 未增加 frontend/Lark/CLI writer,更广的项目材料旅程仍为 partial。

文档: 固定版本指南

loopx project-skill install --project . --skill loopx-material --surface codex --execute
loopx project-skill status --project . --skill loopx-material --surface codex --format json
python - <<'PY_PREVIEW'
from loopx.capabilities.material_lifecycle import plan_material_single_move, material_rerank_receipt_chunks
refs = [f"material:{i}" for i in range(1, 172)]
order, limits = plan_material_single_move(refs, "material:171", 5, protected_material_refs=["material:1"])
assert order == refs[:4] + [refs[-1]] + refs[4:-1]
changed = [ref for rank, ref in enumerate(order, 1) if refs[rank-1] != ref]
chunks = material_rerank_receipt_chunks(changed)
assert [len(part) for part in chunks] == [100, 67]
assert [ref for part in chunks for ref in part] == changed
print("Preview only: 167 affected materials, complete receipt coverage; no source write")
PY_PREVIEW
python - <<'PY_SCOPE'
from loopx.capabilities.material_lifecycle import MaterialProjectScope, build_material_store_inventory
scope = MaterialProjectScope("preview-project", "preview-profile", "preview-grant")
packet = build_material_store_inventory(
    project_scope=scope, store_id="preview-store", store_revision="preview-r1",
    observed_at="2026-10-01T00:00:00Z", source_snapshot_ref="preview-snapshot",
    backup_ref="preview-backup", source_digest="sha256:" + "0" * 64,
    lifecycle_counts={}, stable_ids_verified=False, backup_verified=False,
)
assert "goal_id" not in packet and packet["project_scope"]["project_ref"] == "preview-project"
assert packet["item_count"] == 0
print("Metadata preview only; no Core grant verified or source written")
PY_SCOPE
loopx project-skill uninstall --project . --skill loopx-material --surface codex --execute

Effective-work-Turn review cadence

启用: 在能力中心 → Goal 复核周期显式选择“已结算工作 Turn”和 1–5 次,可设置设备默认或指定 Goal。下方 CLI 选择三次已结算工作 Turn;原完成 Todo 默认节奏保持。

验证: 读取同一 Goal 的 configure-goal,再读取其 Agent 的 quota should-run。共享 TypeScript owner 在已接受复盘检查点后按唯一已结算工作 Turn 计数;重复 retry、poll、未扣额 writeback 和缺失结算均不计数。

停用 / 回退: 用下方 clear 命令移除 Goal 的有效 Turn 覆盖,恢复当前设备默认。用带 revision 校验的设备编辑器改回已完成 Todo,或移除 todo_replan_cadence 恢复旧能力默认;保留既有状态与回执。

权限边界: 阈值产生复盘义务,不授予 host 调度、执行、quota、workspace 访问或外部写入权限。v0 配置读取时仍按完成 Todo 解释,只有明确 apply 才迁移;已接受的负面工作结果也可以计数。

文档: Versioned guide

loopx configure-goal --goal-id "$GOAL_ID" --execution-replan-after-turns 3
loopx configure-goal --goal-id "$GOAL_ID" --execution-replan-after-turns 3 --execute
loopx configure-goal --goal-id "$GOAL_ID"
loopx --format json quota should-run --goal-id "$GOAL_ID" --agent-id "$AGENT_ID"
loopx configure-goal --goal-id "$GOAL_ID" --clear-execution-replan-after-turns --execute

发布验证

发布源码为e1dd9e519c3057fda4b3765d0c93e7ae793608bf,tree为92ecd2e76d8bb72cfc7d87487363edecc20990da。八项资格通过:pytest含子测试18,077通过/133跳过、canonical Ruff、mypy19、4553文件边界、真实1.2.4→1.3.0轮子/Chat/三宿主升级、515公开smoke/健康、范围canary19+5及DS high22×2/44actors/6对照。原benchmark hold1保留并独立解决。Native DS通过2Turns/3settledspends;历史断言失败仍未归属。精确来源资格汇总ready。 GitHub/PyPI制品、来源证明、macOS/Windows资产、macOS签名更新及stable真实安装/更新回读均与此来源一致。已证明的产品/构建来源记录将原tag与包绑定;经审查的夹具恢复与回读等待保留46个packaged浏览器场景及团队证据返回的完整断言。首轮云端DMG失败原因仍未归属;同源macOS重试通过。原生构建通过;取消排队发布job后,由维护者上传已核验的CI原产物并按canonical规则发布签名feed。Windows原生运行、Developer ID/公证、真实Lark/Bot通道及缺失Harbor/SForge/PostgreSQL/NoKV环境仍未资格验证。

Turn/diagnostic展示阈值为15,000/45,000 JSON字符,相同输出14,647/44,126超过旧14,600/44,000;monitor保留2,000及全部结算断言,fixture使用稳定物理目录。它们不是token/费用预算或晋升标准。不宣称匹配版本outcome提升。