workflow-self-recursive: Conceptual Architecture

August 31, 2026 · View on GitHub

workflow-self-recursive: Conceptual Architecture

1. Metadata and Authority

FieldValue
Document identityconcept.identity.001
Publication statusWORKING_REVIEW_CANDIDATE; prior bounded review, translation, and fresh-reader closure apply to earlier bytes only. The 2026-08-23 user review approved the Intake/TaskPrompt/Action-finish calibration. The 2026-08-24 corrective addendum and 2026-08-25 #93 closure passed deterministic Iteration 3 qualification; exact publication binding remains a separate requirement before promotion.
Authority after promotionSole versionless conceptual authority for workflow-self-recursive
Current structure authorityGitHub issues #45 execution.delivery, #46 execution.observation, and #47 execution.runner; this candidate calibrates the conceptual structure to those decisions
Normative languageEnglish
Translationagent-architecture.zh-CN.md is a non-normative tracking translation. English is the sole semantic authority. Whenever an English section changes, its Chinese counterpart is retranslated from the current English section and replaced as a whole; Chinese maintenance does not preserve or incrementally evolve prior Chinese wording.
Confirmed intentEE-BRIEF, SHA-256 52773b19a4ca112d0fb8699c14885b30d0b5fdc1c61b6747e426b568175a4ba9
Confirmed directionEE-SKELETON, SHA-256 73b3481a099983b57ee9e1dd512c6ed23823f0d045085f9ef585db70be13949a
FeasibilitySD-06 aggregate, SHA-256 c70303892e2d68f95e83b12c84940d9f3e41dad6f7a1e269b376da69e4adbf6e; FEASIBILITY_CONFIRMED
Workflow Package import intent and directionEE-WORKFLOW-IMPORT-BRIEF SHA-256 7c9b1064084cf5f256f27bc5efd021bed0374910e1430586eebeb695344d4c6d; EE-WORKFLOW-IMPORT-SKELETON SHA-256 86a2a61a324d9bb7ca90108b433ded2f883bc91d9f60dadee87ac7d11feb8e46
Workflow Package import feasibilityEE-WORKFLOW-IMPORT-SD06-APPLICATION; SHA-256 c6714b9c850536273a00b929559f6d71b8ff2c8aeb1f2aaf8054c14c53ca5795; FEASIBILITY_CONFIRMED within recorded environments and limitations
Targeted simplification authorityEE-WORKFLOW-IMPORT-MVP-SIMPLIFICATION-RR; removes mechanisms only, adds no feasibility question, and authorizes bounded affected review
Historical large-workflow review lineageProblem–Solution, Architecture, and Quality review results from the larger Workflow-import design remain historical evidence for unchanged content only.
Historical large-workflow Finding accountingEE-WORKFLOW-IMPORT-SD10-AGGREGATION is historical and is not the Finding account for this targeted simplification.
Historical design-parameter and handoff closureEE-WORKFLOW-IMPORT-SD12-CLOSURE-HANDOFF; SHA-256 60f24178d3a2f8991d6af2f974e4ed03d35aedc0064d9d253b3773e732e18ea7; SUCCEEDED
Historical large-workflow Fresh Reader lineageEE-WORKFLOW-IMPORT-SD13-FRESH-READER-RESULT applies to prior bytes and remains historical.
Historical controlled integration authorityEE-WORKFLOW-IMPORT-SD14-REVISION-REQUEST; SHA-256 135ab9647fc6e30318735eff3cef858853cec75f47704e6eaaabd13ecbc59b2e; deterministic report SHA-256 1eda28b1c73a8b7d931ab58207d34796173a06bf20cdfae0e17accb2a3a3dc18; applies to the prior large Workflow-import integration
Bounded affected reviewsProblem–Solution SHA-256 807863cb6c7887eccdb2720df5ace0afd8e4833f763a029928f44ed1e30e92ae; Architecture SHA-256 b220e1114d166cc5a55e34635f847ac2c1af0cf1777bb9c6a6c08dbadf5cdf98; Quality SHA-256 b64927087758a987a1f5a4d461035c379970ad84af57133714462ea19ac22f77; converged on two treatment groups
Unified bounded treatmentEE-WORKFLOW-IMPORT-MVP-SIMPLIFICATION-SD10-TREATMENT; SHA-256 da22b3356aa34c3bcf6e3977a3277ef5b0d9c1e8beef35f4fe0db7dd5e72caf6
Prior focused bounded recheckEE-WORKFLOW-IMPORT-MVP-SIMPLIFICATION-SD10-BOUNDED-RECHECK; SHA-256 1b5664afd796910beb8b505bbaadd889fbb7fb098b02c141abb27cdba4e74955; CLOSED_FIXED; open Findings 0; applies to earlier bytes only
Prior translation and fresh-reader closureWhole-section translation parity SHA-256 3c236a404392e1d496e33d4adcdd70000d0db2a2453dcbd7df40813612f77c20; fresh-reader result SHA-256 1062561d35422bfacfa7e430f381e5fb25a5a2a911fe8daa5e3499eac5fc2a75; translation treatment SHA-256 927a02c6d88eba3571e39c010681b8b47dc956e9a8bafea6812aa9cda91c5d14; focused recheck SHA-256 6777175a4e78e363d24ddc3f6bc657b66e9f5a6c2e9fd0042dd210705035c18e; applies to earlier bytes only. Current bounded calibration was user-approved on 2026-08-23 and remains pending fresh deterministic parity/publication binding
Exact publication bindingThe external publication set/application record must bind this byte stream and the companion canonical Execution byte stream by SHA-256, record the applicable fresh-reader and deterministic-verification evidence, and prove exact installation. This document intentionally declares no self-digest or companion digest.

This document owns product purpose, the product-System split, stable concepts, dependency direction, and cross-System invariants. It does not own System Module internals, Observation fact semantics, wire profile, interaction flow, metric reading rules, or physical representation. Those are owned by the Execution System Design, Evidence System Design, Observation Catalog, OTel Observation Profile, Execution–Evidence Interaction Contract, and Metric Catalog within their stated scopes.

2. Product Purpose and Context

workflow-self-recursive exists to run valuable agent Workflows through a small host-neutral execution seam and make what actually happened inspectable. The first release is a trusted, local, first-party, free/open-source preview for an individual or small team. Its immediate target is two logical Workflows—Implementation and System Design—hosted first by DeepSeek Harness (DSH). The deployment does not accept hostile tenants or untrusted operators, and the initial GitHub Workflow repository is public.

The product has two Systems:

  • Execution resolves and prepares one exact open-standard Workflow Package, creates an immutable Delivery Manifest from that resolved Package, coordinates one current Runner Delivery per canonical worktree, and emits bounded facts without depending on Evidence.
  • Evidence is an optional, separately deployable loopback-only data service that accepts supported OTLP facts, projects truthful causal and factual state, and exposes the versioned read-only query API used by BI and Evolution consumers.

Runtime is not a third product System or a peer subsystem. In the current architecture, Runner itself is Execution module M02 and owns runtime interaction; it privately composes a replaceable Workflow Host and configured Provider Adapters. LangGraph and DSH are current private implementation selections, not product-System or Runner identities. Only if multiple Runner implementations become necessary should M02 be promoted into a Runner abstraction, with each concrete implementation receiving a distinct name. Runner may retain private pause/resume and custody-reacquisition behavior without making those capabilities public Execution semantics.

flowchart LR
    U["User"] --> H["DSH host/plugin"]
    subgraph X["Execution System — embedded per repository/workspace"]
      Core["Execution Core"] --> D["M01 Delivery<br/>admission / binding / lifecycle"]
      D -->|"admitted activation"| Core
      Core --> R["M02 Runner<br/>execution"]
      Core --> O["M03 Delivery Observation"]
    end
    H --> Core
    S["Configured public GitHub Release or alternate Source Adapter"] -->|"one Package Source Adapter"| Core
    O -. "optional best-effort OTLP" .-> E["Evidence System<br/>loopback data service"]
    E --> P[("PostgreSQL")]
    P --> Q["read-only query API"]
    Q --> B["BI / Evolution consumers"]

Execution and Evidence share no database. Evidence never reads a worktree, Runtime checkpoint, or hidden Workflow state. Execution never reads Evidence to decide progress or outcome.

A host-neutral selector such as name@version, name@latest, or bare name enters Execution directly or through Intake. Delivery (M01) first canonicalizes the worktree and attempts the existing exclusive admission. CONTENDED returns immediately, and RECOVERY follows the stored Manifest; neither path resolves or downloads the new selector. Only M01 NEW resolves a local ResolvedWorkflowPackage. A valid local exact or sticky-latest hit avoids the network; a miss fetches one Package from the installation's single configured Source Adapter. The default Adapter reads the public Workflow Package GitHub repository/release; an installation may instead select one explicit alternate Adapter. A request never selects, overrides, or falls back between Sources. The Package is staged, checked for format, required resources, declared relationships, exact version/digest, and Runner/DSH compatibility, then published as READY. Any failure releases the ordinary Delivery holder and returns before Delivery creation. Success supplies the exact Package value used to construct and persist the Delivery Manifest before DSH effect.

GitHub and an explicitly configured alternate Source are private Adapters, not product Systems or alternate semantic paths. The DSH Intake plugin and Execution Release contain no Workflow Package content. There is no automatic source/version fallback, ambient resource completion, authentication/authorization subsystem, hostile-Package defense, or production download/recovery platform in the preview.

3. Stable Concepts

ConceptMeaningSemantic owner
DeliveryOne attempt to fulfill one task-level instruction; a DSH retry after valid closure is a new DeliveryConcept; lifecycle detail in Execution
TaskGrouping identity across related Deliveries; never a retry/correlation authorityConcept
Logical WorkflowVersioned business/control meaning independent of a Runner implementationConcept and its Workflow Contract
Workflow implementationExact Runner-specific realization of one logical WorkflowExecution binding
RunnerExecution module M02 and its exact configuration/implementation identityExecution binding; native state remains Runner-owned
Workflow PackageVersioned owner-declared closure of Workflow Definition, Actions, routes/Roles, Prompts, Skills, model/tool/Driver/session bindings, schemas, validators, conformance, identities, and authority under the Agent Ops open Workflow modelWorkflow composition authority and Package owner; validated by Execution
Workflow Package SnapshotComposition-level meaning of one immutable exact Package closure and its required relationships/resources; the preview may represent this directly by the resolved Package value rather than a separate proof or capability identity chainWorkflow composition authority; resolved by Execution
Workflow selectorGeneric user input naming a Package and optional version; bare name and latest request sticky-local latest, while an exact version requests that version onlyHost/Intake supplies; Execution interprets
TaskPromptHost-neutral triggering-turn text plus immutable attachment references; no host-native session/message object or prompt command parameterHost/Intake supplies; M01 snapshots and binds only for NEW
Intake session bindingExclusive zero-or-one presentation relationship between one active Delivery and one host conversation session; different sessions may serve different worktrees concurrentlyIntake Adapter owns private binding; Execution owns Delivery truth
Resolved Workflow PackageSimple immutable value containing name, exactVersion, packageDigest, localPath, and workflowId after local resolution, ordinary validation, and Runner compatibility checksDelivery (M01)
Execution installation configurationOne closed, versioned, canonical, deeply immutable non-secret value used by every embedding and Intake AdapterExecution-level support; loaded once by Bootstrap
Delivery configuration projectionConfig-only, non-secret snapshot of the Runner/Host, Provider/model/base URL, workspace/resource and required control inputs that may bind a Delivery; it contains no PackageExecution-level support; projected before M01 binding
Delivery ManifestImmutable binding of Delivery/task, exact resolved Workflow Package, canonical worktree, TaskPrompt identity/attachment snapshot digests and Delivery configuration projection; it excludes Intake binding, installation identity, Observation configuration, bodies and secretsExecution
Runner resultRunner-owned bounded terminal truth; distinct from Delivery lifecycle disposition and telemetry statusRunner (M02), validated/finalized by Delivery (M01)
ObservationVersioned, allow-listed, content-minimized fact represented through standard-first OTel/OTLPProducer side in Execution; admission side in Evidence
Accepted observationImmutable first accepted identity and provenance after atomic initial projectionEvidence
Factual projectionCausal Trace relations and compatible, completeness-bearing contributions/aggregatesEvidence
Span identityExact (trace_id, span_id) tuple; neither component alone identifies a Span globallyEvidence Admission/Projection; transported by OTel
Objective review graphDistinct Review, Finding, Artifact, Fix, Recheck, Invocation, iteration and Role identities joined only by typed endpointsWorkflow owners; mapped by Execution and admitted/projected by Evidence
Finding assertionOne bounded, non-empty, privacy-safe human-readable factual summary plus a Finding-specific scope identitySource review lens; mapped verbatim by Execution and admitted/projected without inference by Evidence
Finding affected targetExactly one typed ARTIFACT, SECTION, COMPONENT, or REQUIREMENT target per Finding observation; multi-target Findings repeat the complete assertion once per target edgeSource review lens; target identity owned by its source authority
Version-local Role identityRole identity within one Workflow/family version; display name is not identityWorkflow Contract; transported by Execution
Role lineage identityOwner-defined family-scoped identity relating Role versions across Workflow versions; distinct from local Role identityWorkflow Contract; admitted/projected by Evidence

The MVP keeps three direct Evaluation/BI inputs as owner facts, not Observation-derived interpretations: Delivery elapsed time is the complete start-to-terminal measurement supplied by the Runner/Execution result owner; reached stage is the exact furthest terminal stage supplied by the Workflow owner; canonical model identity is the provider-scoped model identity supplied by Provider ownership and is meaningful for model-call attribution only. Observation may encode and transport these facts as C55, C56, and C57, but does not order stages, calculate elapsed time, canonicalize an alias, or otherwise take over their meaning.

Identity axes remain distinct. A Delivery ID is not a Trace ID; a logical Workflow ID is not an implementation ID; a task ID is not a retry token; an opaque Runtime correlation is not public Workflow state. A selector or configured source is not Package identity; sticky latest is not an exact binding; a GitHub Release, asset, tag, or commit is not Core canonical identity; a resolved Package is not Delivery identity; and DSH Session identity is not public Workflow state.

4. Cross-System Invariants

  1. Admit, then prepare before Delivery creation. Execution first canonicalizes the worktree and attempts existing exclusive Delivery admission. Only NEW resolves one exact, locally READY Workflow Package and performs ordinary Package and selected-Runtime validation before Delivery Manifest persistence, Runtime, Session, or worktree effect. A preparation failure releases the holder and is a typed pre-Delivery result, not a Delivery outcome.
  2. One Runner current Delivery per canonical worktree, with immediate rejection. CONTENDED returns without waiting, queueing, preemption, Package Store/source access, or creating a Delivery. RECOVERY follows only the stored Manifest and ignores the new selector.
  3. No mutable Execution history. Execution stores only the current Runner slot. Valid clear removes mutable working state, while the immutable Runner settlement, preserved result/publication disposition, and owner retirement facts survive under their owning boundaries; accepted Evidence remains optional and downstream.
  4. Runtime truth stays authoritative. Execution validates identity and shape but does not reinterpret Workflow outcome. Evidence records; it does not adjudicate.
  5. Observation is optional and non-controlling. Disablement, refusal, sampling, or tail loss cannot change execution.
  6. Missing is never zero. Final, lower-bound, unavailable, and not-applicable states remain distinct through admission, projection, and query.
  7. Accepted facts are immutable. Event ID and Span (trace_id, span_id) identities deduplicate; conflicting content does not overwrite; required initial projection and acceptance are atomic.
  8. Only compatible facts aggregate. Kind, unit, source, source identity, currency, semantic version, and eligibility must agree.
  9. Content is minimized. Prompt, message, tool argument/result, source, credential, and error bodies do not cross the Observation seam.
  10. Human inspection is factual. The preview does not grade, rank, recommend, infer causality, or automatically modify Workflow behavior.
  11. Systems remain independently usable. Execution works without Evidence; Evidence accepts any conforming producer and does not become Execution storage.
  12. Native lifecycle stays private. Runner Host checkpoints, DSH Provider sessions and pause/resume details remain inside Runner.
  13. Local-first exact resolution. A valid local exact or sticky-latest hit makes no remote call. A miss may use only the configured source; no source/version fallback or ambient completion is allowed.
  14. No binding drift. latest or bare-name selection is resolved to exactVersion before the Manifest is created. Later alias or Release changes affect only later Deliveries.
  15. Simple Store visibility. STAGING content is never a cache hit. Initial-fill failure returns to MISSING; refresh staging is private side state that leaves the prior READY Package and sticky alias visible until a validated replacement is ready. The preview performs no automatic eviction.
  16. Trusted-preview restraint. Authentication, authorization, signing, sandboxing, hostile-input defense, multi-user coordination, concurrent Package correctness, distributed locking, HA, failover, and production-grade Package recovery are outside the current design. They reopen design only when deployment trust, exposure, scale, or DSH capability changes.
  17. Intake binding is session-scoped. One host conversation binds at most one Delivery, one active Delivery binds at most one session, and different sessions may serve different worktrees concurrently. Zero bound sessions is the valid DETACHED recovery condition. Restart restores an exact valid binding or leaves the Delivery detached; it never guesses a winner.
  18. Action interaction completion stays Action-owned. An ordinary answer does not end a multi-turn Action. A target-free finish request is resolved through the current session binding, resumes the same Action, and advances only through a validated structured completion.

5. Authority and Dependency Direction

Concept
  ├── Execution: selector resolution, Package validation, Delivery binding,
  │              current-slot lifecycle, Runner, Observation producer
  ├── Evidence: admission, factual projection, read-only query API
  └── Contract: physical cross-System representation only

Host/Intake → Execution Core
Execution Core → Delivery (M01) → private Source/Store Adapters
Delivery (M01) → admitted activation → Runner (M02)
Execution Core → Delivery Observation → OTel/OTLP → Evidence Admission
Evidence Admission → Factual Projection → read-only Query API → BI/Evolution consumers

The Workflow Package owner owns Package content and relationships. Installation configuration selects exactly one Package Source, defaulting to the public Workflow Package GitHub repository/release or explicitly selecting one alternate Adapter. Delivery (M01) alone interprets selectors, resolves and validates Packages, owns Source/Store, performs worktree admission, persists current-slot/Manifest state, and projects the admitted activation. Runner (M02) owns execution of that activation. The Runner Workflow Host owns private Workflow/thread/checkpoint state; the configured DSH Provider Adapter owns only its native Provider session. The Runner Lifecycle Coordinator owns immutable terminal settlement. Delivery Observation alone maps outbound facts; Evidence Admission alone decides acceptance. Configuration, factories, and Bootstrap support the whole Execution System rather than belonging to M01, M02, M03, or an Intake Adapter. Bootstrap is the sole production assembly owner.

Dependencies point toward owner-defined meaning. Source Adapters transport Package bytes but do not define Package identity or construct Manifests. The Store never chooses another source/version. DSH cannot repair an incomplete Package from ambient defaults. Evidence cannot command Execution. No Contract or downstream implementation may add a second semantic writer.

6. Scope and Non-goals

The preview includes generic Workflow selection, exact/sticky-latest local-first resolution through exactly one configured Source, a default public GitHub download path or one explicitly configured alternate Adapter, ordinary Package format/required-file/relationship/version/digest validation, DSH compatibility validation, MISSING/STAGING/READY local storage, exact Manifest creation before DSH effect, immediate exclusive Delivery admission, current-slot recovery, truthful terminal results, optional factual Observation, one canonical installation configuration, one production Bootstrap, a host-neutral Core package, and a replaceable Intake contract. The DSH Intake plugin is the first Intake distribution, not the only Execution distribution.

The preview assumes trusted local deployment for an individual or small team, public first-party Workflow hosting, and no concurrent Package-management correctness requirement. Its concurrency defense is limited to existing one-current-Delivery exclusivity: inability to acquire it returns CONTENDED immediately.

Non-goals are authentication, authorization, RBAC, credentials for the public Package path, signing, supply-chain assurance, malicious-Package or prompt-injection defense, sandboxing, multi-user coordination, concurrent cache writers, fairness, waiting/queueing, distributed locking, Package transaction or proof protocols, automated eviction, mirrors, retry orchestration, HA, automatic failover/upgrade, registry federation, marketplace, ranking, recommendation, grading, causal inference, remote multi-user deployment, Evidence control feedback, physical Evidence schema, public DSH resume, and runner redesign.

Format, required-resource, relationship, version, and digest checks defend against ordinary faults and configuration mistakes; they are not a security subsystem. Any future move to an untrusted source, shared remote service, credential-bearing private repository, hostile tenant, concurrent Package writer, or stronger DSH security capability requires a new Concept/System Design decision before adding those mechanisms.

7. Evolution, Publication, and Legacy Isolation

After atomic promotion, the active semantic authority is the versionless English Concept, the two in-place English System Designs, the frozen and published English Observation and Execution–Evidence Contracts within their declared scopes, and the human metric reading specification. Current Observation machine-package claims are validator-only; production and cross-implementation conformance remain unproven. Chinese files are complete, faithful, non-normative tracking translations published as companions where they exist; they never become independent semantic authorities. Each changed English section replaces its corresponding Chinese section as a whole. Versioned legacy Concept files and obsolete target-design documents are removed; Git history owns provenance.

Legacy material is an explicitly imperfect dependency graph, not a self-consistent bundle. Exact A machine artifacts remain byte-preserved; sixteen B-legacy prose/entrypoint successors identify the material as legacy and keep A-to-B test reads executable. The frozen six-suite Python baseline is 67 tests with two known EFCR digest-mismatch failures: expected bb216407325e10cebd2e3a1de7b69b77d0fe9246a5b28a48d3825d0229818226, actual 5feb18f414b8f87a2cf72ccd239e43f80a4c45201e9b2da5b84633699221525c; the Node Execution baseline is 158/0. These results are quarantined legacy evidence, never a Contract or conformance proof. The publication Gate permits only those two named baseline failures and rejects any additional or different failure. A downstream authorized physical cutover must replace/remove or repair the complete graph and establish a new baseline.

The Observation and Execution–Evidence Contracts are frozen and published. Their current machine package supports validator-only claims; production emitter/acceptor integration and cross-implementation conformance remain downstream evidence work.

Evidence is planned to move to its own public repository and return as a submodule. The exact repository, commit, release process, and MIT-versus-Apache-2.0 choice remain downstream product/repository decisions; they do not change the two-System boundary.

8. Quality and Acceptance

QualityRequired outcomeDesign mechanismEvidence state
ReliabilityEvidence outage cannot affect Delivery outcomeone-way best-effort seam, no receipt/outboxfeasibility confirmed; production fixtures downstream
Recoveryunknown Runner start remains blocking; no blind retryexisting durable launch disposition and exact recoveryconcept.fixture.001 rebinding
Consistencyno accepted/projection half-state or double contributionone PostgreSQL transaction and stable identityconcept.fixture.003 rebinding
Privacyprohibited bodies never cross the Observation seamproducer allow-list/redaction plus admission validationconcept.fixture.002 rebinding; production proof downstream
PortabilityHost and Provider implementations vary behind one Core-owned Runner seamAdapter-private lifecycle, opaque projectionsdesign fixed; implementation qualification downstream
Authority singularityone active graph, no co-active legacy authorityversionless root, in-place Systems, quarantinedeterministic publication proof required
Translation fidelityChinese conveys the complete English meaningstable anchors and whole-section retranslation from Englishreview and deterministic proof required
Honest lifecyclecandidate/legacy artifacts cannot masquerade as conformancelifecycle status, fixed/open matrix, conformance gateContracts published; production integration proof downstream
Workflow Package exactnessa Delivery uses one validated exact Package and does not driftResolvedWorkflowPackage copied into immutable Manifestimplementation plan
Workflow import responsivenesscontention/recovery avoid Package work; valid NEW local exact/latest hit makes zero remote callM01-first admission, then local-first Store; no wait/queueimplementation plan
Workflow import fault containmentinvalid selector, download, validation, cache, compatibility, or Manifest failure creates no Deliverytyped early return at the owning phaseimplementation plan
Package evolvabilitycontributed Packages from either configured Source variant use the common Package Source seam without Core name changesopen Package model and private Source Adapterspaired fixture feasibility confirmed
Resource efficiencypreview uses one asset and retains READY Packages without automated evictionMISSING/STAGING/READY Storeimplementation plan
Trusted-preview securityno production security mechanism is required inside the confirmed trusted/public-source contextformat and identity checks only; explicit reopen triggersaccepted product boundary

Owner-complete acceptance register

The Concept owns this cross-document trace metadata; linked System anchors remain the sole semantic owners. evidence_state is restricted to DESIGN_EVIDENCE_AVAILABLE | IMPLEMENTATION_PLAN | SPIKE_REQUIRED | RUNTIME_HANDOFF; planned work is never presented as passed evidence and none of these states proves physical conformance.

acceptance_idproblem_or_goal_idsscenario_idsdesign_driver_idsdecision_or_mechanism_idsexpected_outcomethresholdverification_methodevidence_stateevidence_referenceownerreturn_locationreopen_condition
concept.acceptance.001problemrunner.scenario.01constraintsexecution.milestone.01, execution.milestone.02, concept.decision.004exact valid binding runs once; after NEW admission, Package preparation may affect only Source/Store before Manifest persistence; invalid binding has no Runtime/worktree/Delivery effectzero Runtime, Session, worktree, Manifest, Delivery-outcome, or Observation effect before successful Manifest persistence; no fallbackpositive/negative binding fixture with Source/Store and Runtime/worktree spiesDESIGN_EVIDENCE_AVAILABLEconcept.fixture.001 rebinding plus Workflow-import ordering planExecution Core validation ownerdocs/systems/execution/project-execution-system.md#ee-execution-7fallback, late binding, Package work on CONTENDED/RECOVERY, or Runtime/worktree/Delivery effect before Manifest persistence
concept.acceptance.002problemexecution.scenario.13constraintsexecution.module.001a second host receives CONTENDEDzero Delivery/Manifest/start/slot/worktree effecttwo-process fixtureDESIGN_EVIDENCE_AVAILABLEconcept.fixture.001 rebindingDelivery (M01) validation ownerdocs/systems/execution/project-execution-system.md#ee-execution-7multiple writers or admission bypass
concept.acceptance.003problemexecution.scenario.14, runner.scenario.09risks, constraintsexecution.milestone.02, START_UNCERTAIN, RESULT_UNRESOLVED, reconcileOrCloseunresolved state remains occupied until conclusive inspection reconciles it or exact administrative authorization abandons/clears it; abandonment creates no Runner outcome/history and only a new Delivery may retryno timeout/steal, fabricated outcome/history, same-Delivery retry, or clear-before-inspectioncrash/lost-handle/malformed-result/stale-current authorization fixturesIMPLEMENTATION_PLANconcept.obligation.002Delivery (M01) implementation ownerdocs/systems/execution/project-execution-system.md#ee-execution-14any unresolved state clears without conclusive inspection and current authorization
concept.acceptance.004problemrunner.scenario.01, runner.scenario.04acceptance, constraintsobservation.contract.003, execution.milestone.01, execution.milestone.02outcomes are exactly COMPLETED, INCOMPLETE, FAILED, CANCELLED; conclusive non-start is distinct START_FAILEDfive mutually distinct categories; no fabricated Runner outcomefive-category and mismatch fixturesRUNTIME_HANDOFFconcept.obligation.001, concept.obligation.002current interaction/profile publication ownerdocs/contracts/observation/otel-observation-profile.md#otel-profile-3launch disposition, Runner outcome, or OTel status collapses
concept.acceptance.005problemacceptance, qualityobservation.contract.002, observation.contract.012, execution.milestone.03, evidence.milestone.01, evidence.milestone.02both closed Workflow-family profiles represent tests/coverage/review/Fresh Reader/verification/activity and objective review/artifact/invocation/recheck relations; Review summary, Finding, Fix, and Recheck use complete base-plus-variant shapes; every Finding includes one bounded privacy-safe factual summary, one Finding-specific scope and one typed artifact/section/component/requirement target; distinct local Role/lineage identity is preserved and scores/inferences are omittedevery confirmed family fact/edge maps once; every Review-family observation satisfies exactly one complete named shape; every Finding target edge has the complete assertion and typed endpoints; zero body/map escape hatch, prohibited inference, partial projection, or name/order-derived relationboth-family semantic and complete-shape matrices, ordinary Finding/Fix/Recheck/Recheck-summary/multi-target examples, endpoint-requiredness, bounded-content/privacy, lineage, idempotency/conflict, and prohibited-field fixturesIMPLEMENTATION_PLANconcept.obligation.001, concept.obligation.003, concept.obligation.004Delivery Observation implementation ownerdocs/systems/execution/project-execution-system.md#ee-execution-14a family fact/edge or complete Review variant is unrepresentable, Finding content/target is lost or inferred, lineage conflates, or any RED-to-GREEN/scenario/design/reviewer-effectiveness inference appears
concept.acceptance.006problemevidence.scenario.01constraints, qualityexecution.milestone.03, evidence.path.03disabled/refused/timed-out/tail-loss Evidence leaves outcome and slot path unchangedzero receipt/outbox/control dependencyloss/refusal fixturesDESIGN_EVIDENCE_AVAILABLEconcept.fixture.002 rebindingDelivery Observation validation ownerdocs/systems/execution/project-execution-system.md#ee-execution-10any receipt, durable retry/outbox, or control dependency appears
concept.acceptance.007problemevidence.scenario.01, evidence.scenario.02quality, risksobservation.contract.006, execution.milestone.03, evidence.milestone.01prohibited bodies never enter exported or accepted factszero prompt/message/tool/source/credential/error bodiesmarker scans and negative fixturesDESIGN_EVIDENCE_AVAILABLEconcept.fixture.002/003 rebinding; production proof remains concept.obligation.003/004Evidence privacy validation ownerdocs/systems/evidence/evidence-system.md#ee-evidence-10arbitrary envelope/body or unsafe diagnostic is admitted
concept.acceptance.008problemevidence.scenario.02, evidence.scenario.04quality, constraintsobservation.contract.009, observation.contract.010, evidence.milestone.02final zero, lower bound, unavailable, and not-applicable remain distinct; incompatible groups never sumno missing-as-zero or implicit conversiontruth/grouping fixturesDESIGN_EVIDENCE_AVAILABLEconcept.fixture.003 rebindingFactual Projection validation ownerdocs/systems/evidence/evidence-system.md#ee-evidence-8inference, implicit conversion, or state collapse
concept.acceptance.009problemevidence.scenario.03constraints, qualityobservation.contract.008, evidence.milestone.01, evidence.milestone.02Event identity is agentops.event.id; Span identity is exactly (trace_id, span_id); same-identity/same-digest repeat is a no-op, conflict rejects without overwrite, and accepted identity plus initial projection are atomiczero duplicate contribution, overwrite, cross-Trace Span-ID collision, or half-stateEvent and Span new/identical/conflicting duplicate plus ambiguity fixturesDESIGN_EVIDENCE_AVAILABLEconcept.fixture.003 rebinding plus affected deterministic Span-identity check; implementation proof downstreamEvidence Admission validation ownerdocs/systems/evidence/evidence-system.md#ee-evidence-7span_id or Trace ID alone becomes Span key, duplicate contributes twice, conflict overwrites, or accepted/projection half-state appears
concept.acceptance.010problemevidence.scenario.05qualityevidence.milestone.02, evidence.milestone.03Evidence query API returns recorded facts, provenance, completeness, compatibility and recorded edges only; BI views preserve those meaningszero score, rank, recommendation, hidden formula, completeness rewrite, or causal inferencequery API golden fixtures plus BI consumer contract fixturesIMPLEMENTATION_PLANconcept.obligation.004 plus #53/#54Evidence query API implementation owner; BI view owners for consumer presentationdocs/systems/evidence/evidence-system.md#ee-evidence-14API or presentation introduces a formula, rewrite, or inference
concept.acceptance.011problemevidence.scenario.02, evidence.scenario.05constraints, qualityobservation.contract.011, evidence.milestone.01, evidence.milestone.02, evidence.milestone.03Raw, accepted identity/provenance, Trace, and factual projection expire independently; expired Trace becomes explicit unavailable detailfour independently testable lifecycle classesretention/expiry fixturesRUNTIME_HANDOFFconcept.obligation.006Evidence lifecycle validation ownerdocs/systems/evidence/evidence-system.md#ee-evidence-14coupled deletion, reconstruction, or history rewrite
concept.acceptance.012problemrunner.scenario.10constraints, qualityexecution.milestone.02no native DSH/runner type crosses the Core Interface; runner privately retains resume and DSH remains no-resumezero public resume/native-type leaktype scan and contrasting lifecycle fixtureIMPLEMENTATION_PLANconcept.obligation.002Execution Core implementation ownerdocs/systems/execution/project-execution-system.md#ee-execution-14public resume or native type crosses the Core Interface
concept.acceptance.013problemevidence.scenario.05context, qualityevidence.milestone.01, evidence.milestone.03loopback ingest/query need no app-level auth; Evidence exposes no UI, database, raw, or write route; user-facing listener and anonymous Viewer policy belong to bi.servingEvidence data service is loopback-only and API read-onlylistener/method/route/negative reachability fixtures; #55 serving fixturesIMPLEMENTATION_PLANconcept.obligation.004 plus #55Evidence data-service implementation owner; bi.serving owner for user-facing accessdocs/systems/evidence/evidence-system.md#ee-evidence-14remote/multi-user Evidence exposure, database/raw/write access, or UI hosting appears
concept.acceptance.014problemscenariosacceptanceconcept.decision.014, concept.decision.017, concept.decision.01834 exact writes and 2 deletions publish atomically; A bytes stay unchanged; Python remains exactly 67/2 named baseline failures and Node 158/0; legacy is not co-active authorityzero post-review byte drift, new/different failure, active legacy edge, or retained legacy Concept pathSD-08 overlay/link/parity/baseline verificationDESIGN_EVIDENCE_AVAILABLEexternal publication set/application record and affected SD-08 resultpublication verification ownerdocs/agent-architecture.md#ee-concept-7any threshold condition is violated before publication
concept.acceptance.015scopescenariosconcept.obligation.007public Evidence has one repository authority and the parent pins one reviewed submodule commitone repository authority and one pinned commit; no cross-repository transactionrepository identity/release/commit/submodule-link proofRUNTIME_HANDOFFconcept.obligation.007Evidence repository release ownerdocs/systems/evidence/evidence-system.md#ee-evidence-14duplicate authority, unpinned code, or a cross-repository transaction becomes necessary
concept.acceptance.016openscenariosconcept.obligation.008the public Evidence release uses one approved MIT or Apache-2.0 license with matching noticesone approved license and matching LICENSE/NOTICE bytesrecorded decision plus exact LICENSE/NOTICE reviewRUNTIME_HANDOFFconcept.obligation.008Product license decision ownerdocs/agent-architecture.md#ee-concept-7neither allowed license is compatible or multiple conflicting licenses are required
concept.acceptance.017problemevidence.scenario.01, evidence.scenario.02evidence.scenario.05constraints, quality, acceptanceobservation.contract.002, observation.contract.006012, concept.decision.005, concept.decision.019independent Execution and Evidence implementers derive exact pins/carriers, ten EventNames, 57 common + 10 Implementation + 6 System Design fields, complete Review-family base-plus-variant requiredness, bounded Finding assertion and typed affected-target relations, local/lineage pairing, native usage and Span identity without re-deciding themexact 10 EventNames and 57/10/6/73 unique counts; every registry row has nine columns; every Review-family record matches one complete named shape and every multi-target Finding yields one complete assertion per typed target edge; zero sibling-family/fixture/prohibited fields, disposition Event, partial projection, or inferred target; exact endpoint/usage/Span/target-edge duplicate rulesdeterministic registry/table/parity/link/semantic-coverage and complete-shape scan plus ordinary Finding/Fix/Recheck/Recheck-summary/multi-target positive and malformed/privacy/duplicate negative fixtures, concept.fixture.002 binding, and preserved Span/usage examplesDESIGN_EVIDENCE_AVAILABLEconcept.fixture.002 PASS and rebinding, with rebuilt green lineage assertions under corrected threshold, RR-OTEL-CONTRACT-003, affected/full SD-08 resultObservation-profile Design validation ownerdocs/contracts/observation/otel-observation-profile.md#otel-profile-11implementation needs another carrier/EventName/field meaning, cannot preserve a complete variant/typed edge/identity, or changes usage/missingness/privacy
concept.acceptance.item.001problemexecution.scenario.00, execution.scenario.11host neutralitygeneric Core operation; private source and Runner boundariesone selector/task call contains no host/DSH/source-native typezero native-field leakschema/type scan and contrasting Adapter fixtureIMPLEMENTATION_PLANconcept.obligation.010, 011Execution implementation ownerExecution Design acceptancenative type or host choreography crosses Core
concept.acceptance.item.002problemexecution.scenario.01, execution.scenario.03, execution.scenario.09exactness/local-firstresolved exact Package and sticky aliaslocal hit makes no remote call; later alias movement cannot alter a Deliveryzero source calls and binding driftsource spy and alias-movement fixtureIMPLEMENTATION_PLANconcept.obligation.011, 013Delivery Binding implementation ownerExecution Design acceptanceremote access on valid hit, re-resolution, or drift
concept.acceptance.item.003problemexecution.scenario.02, execution.scenario.04, execution.scenario.12one source/no fallbackone public GitHub fetch, private STAGING, publish READYfailure preserves prior READY truth and creates no Deliveryzero fallback; STAGING never resolvesAdapter and failed-fetch/publish fixturesIMPLEMENTATION_PLANconcept.obligation.012, 013Source/Store ownersExecution Design acceptancefallback, partial hit, or prior-ready loss
concept.acceptance.item.004problemexecution.scenario.05, execution.scenario.08common open pathinstallation-selected GitHub/alternate private Adapters at one seamprotected and contributed conforming Packages use one validation path from the one configured Sourcezero request override, allow-list, bypass, hidden fallback, embedded initial Package, or native leakpaired configured-Adapter/contribution fixtureDESIGN_EVIDENCE_AVAILABLEexecution.fixture.004; concept.obligation.012Package/release ownersExecution Design acceptancesecond semantic path, rewrite, allow-list, embedded content, or fallback
concept.acceptance.item.005problemexecution.scenario.06, execution.scenario.07pre-Delivery early returnM01-first admission, ordinary M01 validation, and simple Manifest constructiononly NEW performs selector/Package/version/digest/compatibility/cache validation; failure releases the ordinary holder and creates no Manifest, Delivery, Runner/Provider effect, or Observationzero M01/Source/Store call on CONTENDED/RECOVERY; zero Delivery outcome before Manifest creationadmission/M01/Source/Store spies plus typed M01/Core negative fixturesIMPLEMENTATION_PLANconcept.obligation.010, 011Execution Core ownerExecution Design acceptancevalidation precedes NEW, holder is not released, or pre-Delivery failure becomes a Delivery outcome/Observation or transaction/proof lifecycle
concept.acceptance.item.006problemall execution.scenario.*simple exclusive admissionDelivery (M01) admission before request Package workoccupied worktree returns CONTENDED and recovery follows the stored binding, both with zero new-selector Package workzero wait, preemption, Source/Store/M01 call, or new-Delivery effect on CONTENDED/RECOVERYadmission spies and stored-Manifest recovery fixturesIMPLEMENTATION_PLANconcept.obligation.011Delivery (M01) ownerExecution Design acceptancepreparation precedes admission, multiple current Deliveries, waiting, or recovery uses new selector
concept.acceptance.item.007problemexecution.scenario.09, execution.scenario.10exact DSH/no ambientManifest-bound Package and Adapter-first validationDSH uses only bound local Package; missing/unsupported resources reject before native effectzero ambient completion or pre-validation effectproduction projection/no-default negativesIMPLEMENTATION_PLANexecution.fixture.001; concept.obligation.014DSH Adapter ownerExecution Design acceptancerewrite, ambient substitution, post-effect reject, or native leak
concept.acceptance.item.008problemexecution.scenario.07, execution.scenario.12Observation non-controlPackage preparation remains pre-Deliverypreparation/Manifest rejection is never a Delivery outcome or Observationzero pre-Delivery telemetrytelemetry-exclusion/exporter fixturesIMPLEMENTATION_PLANconcept.obligation.011Delivery Observation ownerExecution Design acceptanceObservation controls or reclassifies pre-Delivery result

Lifecycle-specific acceptance refinements below are normative parts of the named existing acceptance identities, not new acceptance IDs:

acceptance_idRequired deterministic refinementVerification refinementReopen refinement
concept.acceptance.005C17 field presence is the record-observable selector on ordinary/Recheck summary: 0 is recorded zero, a positive value is recorded count, and omission is no count fact; Event, assertion (C18,C51), target edge, status (C18,C51,C12), target-specific Fix and Recheck remain separate domains with unchanged atomic reuse/append semanticsOTel Profile §7.6 bilingual ordinary/Recheck zero, positive, absence and exact-retry positives; invalid type/range, Finding carrier and partial-state negatives; no impossible “reported but missing” Admission fixtureany zero/absence collapse, consumer inference of producer intent, invalid C17 partial landing, C27/lifecycle identity regression, or assertion/status mutation
concept.acceptance.017independent implementers derive C17 counted/no-count form from field presence alone, plus the unchanged identities, invariant/allowed-change matrix, compatible-reuse effects and distinct Evidence landingsdeterministic EN/ZH C17 registry/shape/example/Admission/query parity plus unchanged lifecycle and C09/assertion/target/endpoint conflict scansany C17 presence outcome or identity/conflict/no-op effect remains implementation-defined

Downstream obligation register

obligation_idowneraffected_design_identitiessemantic_dependencyrequired_evidencecurrent_evidence_statesuggested_consumerreturn_locationdesign_reopen_condition
concept.obligation.001current Observation/interaction publication ownerobservation.contract.001..012, concept.acceptance.004, concept.acceptance.005, concept.acceptance.009, concept.acceptance.017physically encode the adopted exact pins/carriers, ten EventNames, 57+10+6 registries, complete Review-family base-plus-variant shapes, bounded Finding assertion and typed target relations, lineage pair, native usage, Span identity, interaction, and truth/privacy rules without creating a second semantic ownermachine schema/package, physical limits/budgets including the Finding-summary bound, encoded registries, complete-shape/relationship/multi-target/privacy/usage/Span fixture groups, validators, version policy and publication recordContract 1.0.0 is frozen and published with validator-only evidence; production and cross-implementation conformance are unprovenContract implementation workflowdocs/contracts/observation/otel-observation-profile.md#otel-profile-11physical representation cannot preserve the adopted complete shapes, bounded Finding fact, target/owner/identity meaning, interaction semantics, or any claimant lacks applicable proof
concept.obligation.002Execution Core implementation ownerexecution.milestone.01, execution.milestone.02, concept.decision.004, concept.acceptance.001..004, concept.acceptance.012one Core Interface; per-worktree custody; exact unresolved-state path; Runner-private execution lifecycle plus Delivery current-slot lifecyclecode plus binding/contention/crash/unresolved/inspection/authorization/no-history/native-isolation fixturesIteration 3 production implementation and qualification evidence are recorded in the implementation resultExecution implementation workflowdocs/systems/execution/project-execution-system.md#ee-execution-14bypass, multiple writers, auto-clear, fabricated history/outcome, public resume, or native leak
concept.obligation.003Delivery Observation implementation ownerexecution.milestone.03, observation.contract.006, observation.contract.007, concept.acceptance.005..007, concept.acceptance.009, concept.acceptance.017implement the adopted Core-owned, allow-listed, one-way best-effort profile by selecting one exact complete shape before emission and copying the bounded Finding assertion, Finding-specific scope and one typed target edge without reselecting family fields, usage truth or identityproduction code/exact lock plus complete-shape mapping, ordinary Finding/Fix/Recheck/Recheck-summary/multi-target relationship, bounded-content/privacy, lineage/usage/Span-identity, allow-list, sampling, disable/loss/refusal and dual-emitter-absence fixturesIteration 3 production emitter, producer-role, outage and privacy evidence are complete; formal cross-implementation conformance remains unclaimedExecution observation implementation workflowdocs/systems/execution/project-execution-system.md#ee-execution-14mapping deviation, incomplete variant, missing/mutated Finding fact or typed edge, unit conflation, dual emitter, privacy leak, identity conflation, receipt/outbox or control coupling
concept.obligation.004Evidence data-service implementation ownerevidence.milestone.01..03, observation.contract.008..012, concept.acceptance.005, concept.acceptance.007..010, concept.acceptance.013, concept.acceptance.017atomic Event/Span first-write admission validates one exact complete shape and atomically projects the verbatim bounded Finding assertion and typed target edge, compatible native usage, plus a versioned read-only query API on a loopback-only data servicecode/migrations plus Event/Span/target-edge atomicity and idempotency, complete-shape/relationship/multi-target/privacy/usage/truth/query conflict, method/route negative-reachability, and backup fixturesconcept.fixture.003 proves the pinned transaction/truth prototype only; application is absentEvidence implementation workflowdocs/systems/evidence/evidence-system.md#ee-evidence-14partial projection, mutable accepted fact, duplicate Span or target contribution, conflict overwrite, missing/mutated Finding assertion or edge, unit conflation, inference, database/raw/write/UI exposure, or topology change
concept.obligation.005Execution performance validation ownerexecution.milestone.02, execution.milestone.03, evidence.path.03, concept.acceptance.001, concept.acceptance.006, concept.decision.004, concept.decision.005serial custody and best-effort Observation must remain operationally bounded without changing semanticsbounded workload measurements for admission/start/finalize latency, exporter queue/drop, and resource useno numeric SLO/default is fixed; no production measurement existsExecution validation workflowdocs/systems/execution/project-execution-system.md#ee-execution-14measured bounds require another writer, durable outbox, new Module, or semantic threshold change
concept.obligation.006Evidence lifecycle validation ownerevidence.milestone.01..03, observation.contract.011, concept.acceptance.011four Evidence lifecycle classes stay independently addressable and factual truth is not rewrittenbounded ingest/growth/query/expiry/retention/backup measurements and expiry fixturesno numeric capacity/retention default is fixed; no production measurement existsEvidence validation workflowdocs/systems/evidence/evidence-system.md#ee-evidence-14measurements require coupled deletion, history rewrite, new Module, or topology change
concept.obligation.007Evidence repository release ownerevidence.milestone.01..03, concept.acceptance.015one public Evidence authority; parent repository pins one reviewed submodule commit; no cross-repository transactionrepository identity, initial commit, CI/release proof, and parent submodule-link proofpublic repository/submodule does not yet existEvidence repository release workflowdocs/systems/evidence/evidence-system.md#ee-evidence-14duplicate authority, unpinned code, or cross-repository transaction becomes necessary
concept.obligation.008Product license decision ownerconcept.acceptance.016the public Evidence release uses one approved MIT or Apache-2.0 license with matching noticesrecorded license decision plus exact LICENSE/NOTICE reviewlicense family is constrained but selection/approval is openproduct release workflowdocs/agent-architecture.md#ee-concept-7neither allowed license is legally compatible or multiple conflicting licenses are required
concept.obligation.009Legacy physical cutover ownerconcept.decision.015, concept.decision.016, concept.decision.017, concept.decision.018, concept.acceptance.014quarantined legacy machine evidence stays non-authoritative until an atomic downstream physical cutoverexact A 257-member byte subset and 16 B-legacy successors; complete inventory and atomic replacement/removal or authorized repair; new digests; fresh Python/Node test baselinequarantined known-red legacy evidence: Python 67/2 named baseline failures and Node 158/0; not conformancelegacy Contract implementation workflowlegacy physical cutover packet, pending downstream rebindingpartial cutover, hidden active edge, any new/different failure, or known failure mislabeled PASS
concept.obligation.010Workflow/Execution representation ownerresolved Package and simple Manifest; concept.acceptance.item.001, 005, 007preserve exact Package fields, phase-correct errors, and exact activation without proof/capability/transaction statephysical fields, validators, valid/invalid binding fixturesIteration 3 M01 representation and binding corpus completeContract/implementation guidanceConcept register and Execution Designreopen on re-resolution, ambient completion, native leak, or pre-Delivery failure becoming Delivery outcome
concept.obligation.011Execution Core implementation ownerexecution.milestone.01..03 and all execution.scenario.*one prepare operation, simple Store, Manifest-before-DSH, immediate contention, unchanged Observation, plus only the RED-bounded internal Action-finish input distinction and Section 10 pre-effect start-correlation acknowledgementInterface-level import/contention/Manifest/DSH/result/privacy/Action-finish/start-correlation fixturesIteration 3 Core/M01/M03/Intake implementation and qualification completeExecution implementation guidanceExecution Designreopen on bypass, drift, wait/queue, pre-Delivery outcome/Observation, ambient completion, public Runner change, or any Runner delta beyond the two approved distinctions
concept.obligation.012product/repository/plugin/Package release ownersindependent Workflow Package GitHub host, configured alternate common path, contributionpublish versioned initial Package assets independently from Execution/Core and DSH Intake artifacts; govern contributions and protect the initial corpusrepository, separate Release/assets, descriptors/digests, contribution and no-embedding evidencepublication absentrepository/plugin release guidanceConcept and Execution Designsreopen on mutable/ambiguous/incomplete asset, embedded content, allow-list, rewrite, bypass, or fallback
concept.obligation.013Local Store implementation ownerexact/latest and MISSING/STAGING/READYlocal-first, non-addressable candidate staging, initial failure→MISSING, refresh failure preserves prior READY+alias, alias-after-new-ready, no evictionStore Interface initial-fill and refresh hit/miss/staging/ready/conflict/failure fixturesIteration 3 Store implementation and failure corpus completeStore implementation guidanceExecution Designreopen on partial visibility, prior-ready/alias loss, required concurrent writers, or required eviction
concept.obligation.014DSH Adapter/provider qualification ownerexact activation/no ambient; concept.acceptance.item.007select production bindings and project complete Packages before effectprotected/contributed behavior and provider/no-default/result evidenceDSH 0.1.1-rc.2 production path, protected/contributed projection and no-ambient qualification completeRunner guidanceExecution Designreopen on rewrite, ambient substitution, post-effect rejection, missing capability, or native leak
concept.obligation.015operations validation ownersource/cache resource usechoose bounded fetch/cache settings without fallback, queueing, eviction, auth, or production recovery semanticsordinary-fault/resource observationsno numeric defaults fixedvalidation/operations guidanceExecution Designreturn only if measured facts require changed ownership/Interface or trust/scale context

Normative obligation refinements: concept.obligation.001 must physically encode C17 presence/absence as counted/no-count form, preserve C27 and the six identity domains, and package bilingual zero/positive/absence/retry and type/range/carrier/atomic negatives; reopen if absence needs an out-of-band discriminator or zero cannot remain distinct. concept.obligation.003 must prove typed owner count→exact C17 and no fact→omission without malformed emission; reopen on another selector or assertion mutation. concept.obligation.004 must prove presence-only Admission, exact count/no-count landing/query, no partial Review/count effect, and all unchanged lifecycle no-op/append semantics; reopen on producer-intent inference, synthesized zero/UNAVAILABLE, partial effect or conflated storage.

Design acceptance requires every row above to have one semantic owner, an evidence state, a durable return and an explicit reopen condition; each System must remain independently usable, the cross-System seam must agree, all owner links must resolve, and the active authority graph must exclude removed or quarantined material as co-active authority. Implementation acceptance remains owned by downstream Contract, implementation, operations, repository, and license owners.

9. Decision Register

IDDecision
concept.decision.001Embeddable Execution plus separately deployed optional Evidence
concept.decision.002Three deep Modules per System
concept.decision.003Runner owns execution truth and hides native lifecycle; Delivery owns admission/current-slot/Manifest lifecycle
concept.decision.004Custody first; one current slot; exact NEW/RECOVERY split; no Execution history
concept.decision.005Standard-first, allow-listed, best-effort Observation
concept.decision.006Evidence Projection owns completeness and compatibility eligibility
concept.decision.007First accepted write wins; no correction/recompute platform
concept.decision.008Accepted identity and required initial projections commit atomically
concept.decision.009Bounded Adapter protobuf is the sole designed current factual emitter
concept.decision.010Canonical worktree identity is derived/revalidated before custody/effect
concept.decision.011Raw, accepted identity, Trace, and factual projections have independent lifecycles
concept.decision.012Evidence is a loopback-only data service whose sole external read boundary is the versioned read-only query API; it hosts no UI or presentation proxy, and PostgreSQL is not externally exposed
concept.decision.013Persisted pre-start state closes only with conclusive non-start or exact authorized abandonment
concept.decision.014Publish exactly seven bilingual authority pairs with one semantic owner each
concept.decision.015Preserve exact A machine bytes and revise exact B-legacy successors as one honestly quarantined dependency graph; do not call it closed or passing
concept.decision.016physical conformance requires published schema, registry, fixtures, and validation
concept.decision.017Publication uses the frozen 67/2 Python and 158/0 Node baseline-result/delta Gate; only the two named legacy failures are permitted
concept.decision.018The EFCR digest mismatch and two frozen historical authority literals remain quarantined legacy/non-conformance evidence
concept.decision.019Adopt the Observation semantics encoded by frozen, published Profile 1.0.0; Profile 0.3.0 is non-resolving legacy history only. The exact OTel/OTLP/semconv pins, ten EventNames and closed 57-common/10-Implementation/6-System-Design registries include owner-supplied C55–C57; Review summary, Finding, Fix and Recheck use complete named base-plus-variant shapes; every Finding carries a bounded privacy-safe factual summary, a Finding-specific scope and one typed artifact/section/component/requirement target, with one complete record per multi-target edge; the typed review graph, source-scoped native usage and Span tuple identity are fixed; agentops.role.lineage.id pairs with local Role ID on existing role.lineage, while administrative disposition stays outside the first wire profile
concept.decision.020Workflow Packages conform to one open Agent Ops composition model; admission is based on exact closure and current Runner compatibility, not Package ownership/name.
concept.decision.021Canonical worktree admission occurs first. CONTENDED and RECOVERY perform no new-selector Package work; only NEW resolves and validates the Package before Delivery Manifest creation. Any preparation failure releases the ordinary holder and returns before a Delivery exists.
concept.decision.022Bare name means sticky-local latest; exact/latest local hits avoid remote access; every successful result freezes name, exactVersion, packageDigest, localPath, and workflowId for the new Delivery.
concept.decision.023One canonical installation configuration selects exactly one Source: the default public GitHub repository/release Adapter or one explicit alternate Adapter. Requests cannot select or override Source. Resolution uses no source/version/ambient fallback; source choice is configuration, not an authorization/capability protocol.
concept.decision.024The Workflow Package GitHub repository/release is the first Package host and independently owns versioned Package assets. The DSH Intake plugin and Execution Release do not embed initial Package content. Alternate native Source types stay private behind the same seam.
concept.decision.025The preview Store exposes only MISSING and READY to resolution while candidate STAGING stays private/non-addressable. Initial failure leaves MISSING; refresh failure leaves the prior READY Package and alias unchanged; refresh success publishes the new exact Package before changing the alias. There is no automatic eviction, Package transaction lifecycle, Prepared hold, proof identity, or commit-resolution subsystem. DSH state remains Adapter-owned; Runner changes are limited to the RED-bounded internal Action-finish input distinction and Section 10 pre-effect start-correlation acknowledgement.
concept.decision.026Configuration, factories, and Bootstrap are Execution-level support. One canonical config produces distinct installation identity, config-only Delivery configuration projection identity, and Package-dependent Delivery binding identity. Bootstrap alone owns production assembly, recovery readiness, rollback, and reverse shutdown.
concept.decision.027Execution exposes one host-neutral Core request/result contract. Intake is replaceable; the first DSH Intake plugin owns only presentation and installation lifecycle calls. Intake DSH and Runner-owned execution DSH use distinct Context, service registry, session namespace, and persistence roots while shutdown cascades through one installation lifecycle.
concept.decision.028Create consumes the triggering turn as a host-neutral TaskPrompt; prompt text is not a command parameter, attachments become Execution-owned immutable snapshots only on NEW, and CONTENDED/RECOVERY ignore the new turn.
concept.decision.029Intake exclusivity is per host conversation session, not installation-global. Session/Delivery binding is exclusive and zero-or-one for an active Delivery; restart restores an exact valid mapping or marks the Delivery detached/recoverable.
concept.decision.030The target-free Action-finish command means finish requested, not Action completed. The current Action owns closure and only validated workflow_complete advances the Workflow; the approved Runner reopen is limited to representing that internal interaction distinction.

The detailed behavior and verification obligations follow in the three owned documents linked above.

10. Iteration 3 Corrective Product Boundary

This section is a bounded addendum for the interactive Intake and independently releasable Workflow Package outcomes. It supersedes only the earlier statements that Runner is unchanged beyond Action-finish and that the first GitHub mechanism is repository-release-wide. All other ownership, lifecycle, trust, recovery, and non-goal decisions remain active.

Host-neutral presentation and real UI

Execution Core owns a closed, versioned, host-neutral presentation event vocabulary. Intake owns transport and host rendering only. For interactive commands, the DSH adapter submits the exact command and attachments as a native user message in a host-owned turn, then consumes that turn at pre-step before any DSH-I model request. Its keyed command view replaces the generic one-line renderer and presents each native command lifecycle once, with a friendly projection and copyable bounded technical details; it does not fabricate an assistant/model message or a duplicate immediate command row. The resulting non-blank conversation is isolated from a later New Session and remains separately reopenable. Delivery inventory/status remain read-only Session projections and do not replace workspace navigation. The closed event kinds are command accepted, Delivery running, Delivery list (including a real empty list), Delivery status, Action output, Action input request, terminal result, and bounded error. Unknown or malformed envelopes fail closed as a bounded WSR error without echoing rejected bytes, and Core remains independent of DSH types.

Browser-visible rendering through the locked DSH web client is the product oracle. RPC and session-history inspection are auxiliary transport and durability evidence, not substitutes for visible UI evidence.

Delivery-owned start truth

The observed gap between persisted start uncertainty and later terminal result authorizes one internal Runner-to-Delivery correlation acknowledgement. Before the first Host or Action effect, Runner durably records the exact Delivery/Manifest/activation-correlated start fact, Delivery validates it and durably changes START_UNCERTAIN to RUNNING_CORRELATED, and Runner records the acknowledgement. Exact replay is idempotent; mismatched correlation fails closed. Observation receives only a later non-controlling best-effort copy. This does not alter the public Runtime operations, terminal result ownership, retirement, settlement, or other Runner semantics.

Trusted route authority projection

For the trusted local MVP, admitted Workflow route modes project to workspace authority without interpreting human-readable target text as a path: any read route grants root-and-descendants read, any write route grants root-and-descendants write, and execute grants no workspace-file authority. Exact admitted Host operations remain the only execution authority. Canonical-worktree containment, relative-path validation, symlink escape rejection, signed authority digest, and Custody post-attempt validation remain mandatory. This addendum does not change the Workflow Contract or DSL.

Package independence and first proof Package

GitHub Source resolution operates on package-version records rather than a repository-wide latest release. New releases are package-scoped, contain exactly one Package, and use deterministic package-qualified tags and assets. Exact and latest selection share one bounded release-enumeration and normalization path; duplicate package-version records are invalid, stable latest excludes prereleases, local-first sticky resolution remains, and no source, version, tag, or ambient fallback is introduced. The already published two-Package 0.3.0 initial cohort remains byte-for-byte read-only and is normalized by that same path as a compatibility record, not copied, rewritten, or treated as fallback.

hello-world-workflow@0.1.0 is the first non-initial proof Package. It owns one model-backed Action, requests no tools or workspace authority, consumes the immutable TaskPrompt text and attachment snapshots through generic Execution projection, and completes with a structured successful result. Execution may add that generic prompt/attachment projection but cannot add Workflow-specific behavior, a prompt command parameter, or ambient environment/secret access.

Bounded return conditions

Return for human ruling before implementation if evidence requires a public Runtime change, another Runner semantic change, a frozen Workflow Contract/DSL change, DSH source modification, mutation or republication of either initial Package, fallback, target-text path interpretation, a second configured Source, fabricated assistant history, or broader migration/security/concurrency semantics. The executable details and RED/GREEN oracles are owned by the Execution Design corrective addendum.