[Kernel][G11] Own concurrent tasks, workspaces and manual-edit reconciliation #59
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#57 [Kernel][G08] Serve authoritative state and reconnectable progress to CLI, Console and notifications
Creatidy/creatidy-kernel
#60 [Kernel][G01-G13] Accept the installed controlled-task path end to end
Creatidy/creatidy-kernel
#106 Deliver ordinary Program execution with shared pull and managed push handoffs
Creatidy/creatidy-kernel
#48 [Kernel][G01 G12] Repair bounded-task lifetime, recovery and original deadline enforcement
Creatidy/creatidy-kernel
#50 [Kernel][G09] Prove workspace isolation and trusted verification preconditions
Creatidy/creatidy-kernel
#61 [Kernel][G11 G13] Protect host-qualified source cache ownership, locking and dispatch identity
Creatidy/creatidy-kernel
Reference
Creatidy/creatidy-kernel#59
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Priority: P1
Type: implementation/safety.
Current Scope And Supersession
Published under the owner's 2026-10-27 bounded architecture/backlog mandate #103. PR #104 is merged at
ace7175e087cd70e207594f5631c8f4f70fabfd4; pending/prepared wording at that historical cut is not current integration status. This active content supersedes conflicting historical descriptive scope, priorities and dependencies, including dated comments, without changing their evidence or review counters. The complete pre-update body is preserved unchanged under## Historical Scope And Evidencebelow. Prepared A is registered #105 and B is registered #106. Publication does not select implementation or establish overall alignment acceptance.P1 means core authority/data-integrity foundation or complete everyday work capability on the critical path under the integrated P0-P3 Priority Contract; lower number is earlier, not a budget or deadline. This is the single active priority. Eligibility/evidence precede priority; ranking never bypasses prerequisites, owner decisions, STOP_REVISE or exact invalid/wontfix/duplicate exclusions. Ranked-before-unranked, explicit dependency ordering, oldest registration/tie by ID and existing /loop authority remain unchanged.
Goal
Prevent competing work claims and conflicting workspace/session/effect ownership across cooperative clients and managed workers.
Why
Existing outbox leases and source-cache locks do not reserve ordinary work or prove native termination.
Scope
Single-writer work/resource admission, reservations and increasing generations, workspace/session ownership, manual edits and safe cleanup; no distributed lock service or second scheduler.
Acceptance Criteria
Dependencies
Accepted #48/#50/#61/#90 exact source/receipt evidence, not closed states alone. Remove all #57 prerequisites for claims/local ownership. Router parallel admission is a strict-resource lane concern, not a global work-claim blocker. Current ordinary dispatcher consumes this result in #106.
Constraints
ADR 0012 and ADR 0011 apply. Preserve inward dependencies (
adapters -> ports -> core) and the self-contained public core; no private repository or live-service dependency for core/offline tests. No new coding agent, tracker, catalogue, gateway or generic workflow DSL. No credential/runtime-state copying. Preserve old bytes/IDs/unknowns and #53 CLOSED / NOT IMPLEMENTED, PR #85 CLOSED / UNMERGED; its strict-expiry negative and review history are not an accepted adapter or pass. Synthetic offline tests plus the installed path and independent exact-subject review are required. Live inference/effects/releases require separate authority; this publication grants no accounts, live spending, private data access, merge, release or deployment. Preserve PR #100 as a negative receipt, not full route acceptance, and PR #101 as provenance-only, not full knowledge-content acceptance. Historical evidence and all review counters remain immutable.Links
ace7175e087cd70e207594f5631c8f4f70fabfd4).ace7175e08/docs/adr/0012-unified-work-coordination-and-drivers.mdace7175e08/docs/adr/0011-task-level-authority-and-trusted-development.mdace7175e08/docs/architecture/target.mdace7175e08/docs/architecture/migration.mdace7175e08/docs/architecture/backlog-alignment.mdace7175e08/docs/architecture/contracts.mdace7175e08/docs/architecture/migration.md (source-cache-compatibility)Historical Scope And Evidence
Goal
Owner: Kernel. Support multiple independent bounded tasks with one mutating controller per Attempt, explicit process/workspace/state ownership, manual-edit detection and safe lifecycle/cleanup, while exposing a coherent concurrent view. Source: shared architecture v1.0, sections 1-8, 9.2-9.4, 10-18 via #46 brief.
Why
Single-controller SQLite is a durability constraint, not a complete multi-task ownership strategy. A stale controller, user edit or cleanup race must not overwrite real work or cause an old candidate to be accepted.
Current Evidence
At
eb4f4a2956, sqlite_store.py enforces one creating process/thread and exclusive connection; task_execution.py has fixed Program/WorkUnit/Attempt/workspace keys within one task directory. prepare_workspace recovers existing tree and collects it as candidate, but no explicit manual-edit provenance/ownership contract or many-task view exists. Core local fences/digests and #13 outbox are useful, not distributed consensus. Source cache #44 has separate concurrency defects tracked independently.Scope
Define then implement task/Attempt workspace/controller lifetime and lock ownership using existing durable mechanisms. Multiple tasks may share safely acquired read-only sources, never mutable workspace/state by accident. Detect/journal manual changes with attribution/unknown, require explicit reconcile/candidate decision rather than discard or adopt as model output. Safe cleanup requires owned settled process/workspace/artifacts; expose concurrent status via owner-served projection.
Acceptance Criteria
Reuse
Retain SQLite dedicated-writer topology, operation fencing, workspace identity and content-addressed candidates; compare proven local locks/HAR workspace slots/native supervisors after exact source/revision/license/negative/security/dependency-maintenance verification. No distributed scheduler, broker, cluster framework or new controller ontology by default.
Dependencies And Priority
Required before product multiple-task claims. Depends on safe source-cache ownership (#61), #48 lifetime, the #50 verification/test-child profile, #57 owner-served concurrency state, and #90 user STOP/owned-process outcome for baseline cancellation acceptance. #50 is not promoted to whole-worker isolation. #53/PR #85 is closed NOT IMPLEMENTED; its cold-recovery evidence is diagnostic, not a shipped harness integration or strict-expiry proof. Under the accepted baseline, task expiry stops new Kernel admissions and initiates STOP while native local effects may continue during termination. Unsettled/escaped work remains
unknown; retain the workspace and block acceptance/publication/successor Attempt while uncertain. Producer Router parallel-call admission remains external, not a Kernel scheduler to clone. The task user accepts the native Codex same-principal provider-HOME trust and must not expose production/remote-write credentials through the worker identity.Constraints And Permissions
Do not weaken SQLite exclusive durability to obtain concurrent UI, rewrite immutable IDs, clean foreign data or erase manual work. Local synthetic concurrent tests need no inference; live simultaneous tasks/tool effects require explicitly bounded owner authorization. Lock/process handoff security decisions outside existing ADRs require owner decision.
Links
Non-Goals
No distributed control plane, arbitrary Program execution queue, workload mutation or shared state database.
kilo referenced this issue2026-10-16 22:59:18 +00:00
kilo referenced this issue2026-10-27 02:11:28 +00:00
Selected By Authorized Loop Continuation
After #56 integrated acceptance/closure viaPR109merge
b11aae420517b14bbb4d85c84f9a0d82c14446c6, the owner's explicit2026-10-27 recovery/loop-continuation mandate resumed FULL canonical SELECT. All13openissues exhausted; exactwontfix44/37/30/15excluded first. All9remaining currentbodies/comments/nativeedges/requiredproducer evidence refreshed.#59 selected as oldest independently eligible P1 (2026-10-04), before independently eligible #105(P1,2026-10-27). #57/#106 require these inputs; no #57/#52/SR/MI/Console or former#56 repository-wide gate. #62 remains an independent P2 lane. Selection is from issues, not PR backlog.
Postselection current59OPEN/unexcluded/activeAC1-6 unchanged. Accepted prerequisites verified from actual receipts/source/tests/ancestor commits, not closedstates: #48lifetime; #50verification/testCHILDprofileonly(comment15570/merge1deb3290); #61sourceownership(comment15652/merge71c13276); #90ownedSTOP(comment17647/mergea7da7c78). Full-hostile-worker/strict-native expiry remains unsupported, not fabricated from these scoped results.
Ordinarybranch
issue-59-work-resource-ownershipfrom freshly fetched exactcanonicaldevelopb11aae420517b14bbb4d85c84f9a0d82c14446c6in same checkout. No previous59delivery/counter recovered from canonicalcomments/localbranches/ledger; no currentPRs. Reviewbudget starts 0/10 for this59delivery, independent of permanently preserved #56original10/10 and explicitly authorized #56recovery3/4. No review/push/PR/merge yet.Implement active claims/resource/manual-edit ownership through existing singlewriter/core/ports, reusing budget/authority/originalclock/journal/Attempt/receipt mechanisms. Exactspec+claimant+capacity atomic handoff, increasinggenerations/original-horizon renewal, late-report/revoke fencing, conflicting-resource quarantine, weakercooperativequiescence vs matchingmanagedwitness, preserve manual/unknown bytes and safe exactowned cleanup; deterministicrace/process/reopen/installed application conformance. No105drivers/106engine/57remoteAPI expansion, newarchitecture/ADR0012, distributedservice/sharedsessionkill, liveinference, credential/privatepayload copying or externalrepo mutation. The sole source writer implements while primary freezes checkout writes; full gates precede publication/review. Issue remains OPEN until independent exact-head approval and separate integration/acceptance gates.
Implementation published as PR110 #110, ordinary branch
issue-59-work-resource-ownership, owner commitHEADb9aae79d36e1a1ece046dd565a07be028c8f865a, exactbaseb11aae420517b14bbb4d85c84f9a0d82c14446c6.Shared installed trusted local WorkOwnership performs actual atomic claim/domain preparation/budget/Operation/baseline retention, exact claimant/profile/resource generations, renewal/original-clock/current-subject fences, distinct cooperative and original-owned managed witnesses, unknown/conflict retention, manual-edit reconciliation and safe empty-only exact retirement. Schema5 preserves original records/backups and actual installed schema2/3/4 readers refuse5.17scopedfiles incl38ownershipregressions+1migrationcut. No ADR/dependency changes or #105/#106/#57 expansion.
Final closed/offline makecheck 1777PASS/85existingnativeprerequisite skips/106subtests, packagecheckPASS including actual installed handlers both modes/synthetic owned process/outsidecheckout/historicalreader proof, auditNO KNOWN VULNERABILITIES. Native skips are not live/isolation/provider-billing proof. Trusted sameprincipal/group and cooperative limitations remain explicit; unknown/nonempty data preserved.
Primary inspected entire intended delta/newfiles, clean checkout/effectiveowneridentity and base/head/mergebase. Fresh complete exact-head independent review starts next under #59's 0/10 before first dispatch, currentness/CI and separate acceptance still required. No approval/merge/closure claimed. #56 original10/10 and distinct accepted recovery3/4 remain unchanged.
Fresh full-PR110 review 1/10, requested GPT-6.1 Sol High native task
ses_e810f7839ffehUY8RKSmMex6qL, reviewed exactb9aae79d36e1a1ece046dd565a07be028c8f865a/b11aae420517b14bbb4d85c84f9a0d82c14446c6: REQUEST_CHANGES, two material findings. Independent full gates passed1777tests/85existingnative skips/106subtests and packagecheck; refs/cleanliness initial/final verified.P1: generic cross-Program preparation/delivery can bypass another claim's retained workspace, because the common guard skips ownership records in other Programs. Correcting global physical-resource checks at common admission/delivery, while retaining Program-scoped same-WorkUnit identity and independent-resource eligibility.
P2: installed claim replay recaptures changed or retired workspace before consulting the committed command outcome, so identical public requests cease to replay. Correcting explicit caller-input comparison/authentication before first-only baseline capture; historical replay never renews authority.
Scoped implementation remediation and red-first public-path/reopen/retirement/race regressions are underway. Nine reviews remain; next requires normal remediation commit, full gates and a fresh COMPLETE exact-head independent review. Issue59/PR110 remain OPEN/UNMERGED, no acceptance/merge claimed. #56 histories unchanged.
PR110 normal remediation commit
3aa2b8f0232892ddfc61545bff7c646176253628retained initialb9history and fixed first-review globalphysicalworkspaceguard/historicalexplicitrequestreplay. Primary precommit engineering audit additionally reproduced28latepathclockfailures+2artifacttails and corrected preflight/staging before final independentlydurable clockcut, with allbusinessauthority/reference publication stillatomic.159ownershipcases/1898fulltests/85existingnative skips/106subtests/package/auditPASS before new review.Fresh Sol6.1High COMPLETE review 2/10, native
ses_e808ef1cbffemCsBrpMLoctVE3, exact3aa2b8f0/baseb11aae42: REQUEST_CHANGES, independentcheck1898PASS85skip106subtests/packagePASS and canonical/localcleanrefsverified. Source-derived findings: P1logicalSatisfyWorkUnit-generated settlement can be mistaken for physical settlement of a generic workspace; P2count-onlyretry/remediationreservations incorrectly demand external-effect settlement; P2retry_work lacks required physical preflight and blocks interrupted BudgetedChecks recovery on canonical paths.All three are being remediated in accepted59scope with actual typed/installed completion/retry/reopen counterexamples and qualifiedproof distinctions. No logicalacceptance→physicalassurance upgrade, no fabricated countereffectreceipts, no failedgatewaiver. Eight independentreviews remain; next requires normalcommit/fullgates/freshwholePR. Issue59/PR110 stay OPEN/UNMERGED and currentapproval/acceptance not claimed. #56 histories unchanged.
Independent Review 3/10
PR #110 at
88d59fcd594cbf7fd529971a12139628bef9b6a5, baseb11aae420517b14bbb4d85c84f9a0d82c14446c6, received REQUEST_CHANGES from fresh Sol 6.1 High taskses_e8044dc94ffeGIfIHf2NLiUKKg. The reviewer independently inspected the complete accumulated 25-file delta, verified initial/final canonical and local refs and cleanliness, and passedmake check(1,912 tests, 106 subtests, 85 existing native opt-in skips) andmake package-check.Two material findings remain:
Both findings are being corrected with public-path and installed-handler regressions before another normal remediation commit and full validation. Seven independent reviews remain. PR #110 and issue #59 remain open; no approval, merge or completion is claimed. All #56 predecessor and recovery histories remain unchanged.
Independent Review 4/10
Fresh Sol 6.1 High task
ses_e7ffb4647ffeHxomAoM4pl1Qw6reviewed complete PR #110 at3ebd84a28c6c3bfcf6ed7f4b1937fc425ae05b13, baseb11aae420517b14bbb4d85c84f9a0d82c14446c6: REQUEST_CHANGES, one P2. Canonical/local refs and clean checkout matched initially and finally. Independentmake checkpassed 1,919 tests and 106 subtests, with 85 existing native opt-ins skipped; package checks passed.The remaining finding concerns protected publication command recovery: after the first authorization commits, an identical retry sees its own pending publication as an unreconciled effect and fails before returning the committed outcome. A lost response or reopen therefore breaks idempotent recovery.
The correction will add exact historical authorization replay, bound to the original owner, claim generation, operation/effect and request, before live capture or authority checks. Replay will return evidence only, without new capacity or renewal; fresh authorization and delivery remain fully gated, and unrelated unsettled effects remain blocking. Public lost-response/reopen/changed-input regressions and installed conformance precede the next full review.
Four reviews consumed, six remain. Issue #59 and PR #110 remain open and unmerged; no current approval or acceptance is claimed. #56 histories remain unchanged.
Independent Review 5/10
Fresh Sol 6.1 High task
ses_e7fbdfbebffeQr7pxQwj5h7pV1reviewed complete PR #110 at397ee0cb6a11f0638b9b19f48076f34d1d1c69b1, baseb11aae420517b14bbb4d85c84f9a0d82c14446c6: REQUEST_CHANGES, one P2. Initial/final canonical and local refs and cleanliness matched. Independentmake checkpassed 1,946 tests, 106 subtests and all tooling gates; 85 existing native opt-ins remain skipped. Package checks passed.The remaining availability gap concerns live or unqualified generic workspace history, not the already-fixed fully settled case. If A's pathname becomes an alias to a retained location disjoint from B, validation rejects A before deciding whether B conflicts. Unrelated B admission, renewal or delivery can therefore be blocked across the store.
Remediation must retain scoped original identity/custody and observed alias-conflict evidence, prove B's independence and keep A/overlapping or ambiguous reuse fenced. Invalid history will not be blindly skipped or promoted into safe scope. Tests will exercise same-process and reopened public/installed flows with A still unknown and B genuinely independent, while preserving original clock cuts, bytes and all current publication/settlement gates.
Five reviews consumed, five remain. PR #110 and issue #59 remain open and unmerged. No current approval or acceptance is claimed; all #56 histories remain unchanged.
Independent Review 6/10
Fresh Sol 6.1 High task
ses_e7f587879ffe0Lo6ZXFKZuhfHsreviewed complete PR #110 atc6c727f85c4f3d8881aed542ceeacf79259aea2c, baseb11aae420517b14bbb4d85c84f9a0d82c14446c6: REQUEST_CHANGES, one P1. Initial/final canonical and local refs and cleanliness matched. Independent checks passed 2,020 tests, 106 subtests, all tooling and package gates; 85 native opt-ins remain unproved.The new original-identity mechanism correctly covers generic history, but the common scan skips owned Attempts and their separate conflict checks still compare only path strings. An unreleased owned A moved to R, with A now a symlink to R, can therefore miss a competing generic or owned mutation over the same directory inode. Expiry, revocation or quarantine does not discharge that retained resource.
The correction will apply common original-inode/custody and observed alias/ancestor checks to all unreleased owned claims, retaining their original pathname and unknown scope until explicit release. Qualified closure alone may retire a generic hold, but cannot silently release owned capacity. Tests will cover owned originals, competing owned/generic paths, already-prepared delivery, reopen, expiry/revocation/quarantine, independent positive work and retained original bytes.
This is another common-boundary coverage gap, not a new architecture mandate or accepted assurance. Six reviews consumed, four remain. PR #110 and issue #59 remain open and unmerged; no current approval is claimed. All #56 histories remain unchanged.
Independent Review 7/10
Fresh Sol 6.1 High task
ses_e7f053d99ffeVri6JoNdCKBD3qreviewed complete PR #110 at43fa742d6569706ac5136f8378eefa72d4628484, baseb11aae420517b14bbb4d85c84f9a0d82c14446c6: REQUEST_CHANGES, one P1. Canonical/local initial and final refs and cleanliness matched. Independent checks passed 2,152 tests and 106 subtests, all tooling and package gates; 85 native opt-ins remain unproved.Fresh owned acceptance currently compares persisted candidate and observation records, while the admission preflight checks directory identity rather than current file contents. An in-place edit after
candidate_subject()but beforeSatisfyWorkUnitcan therefore commit stale acceptance and release logical capacity. A later publication refusal cannot undo that acceptance.The correction will capture the current exact owned workspace subject inside the fresh acceptance decision, before the final independently durable clock cut, then consume only decision-local facts in SQL. It will preserve changed bytes and original artifacts and refuse all acceptance/dependent-state changes on mismatch. Related fresh candidate/publication consumers are being audited for the same stale-input pattern; read-only historical receipts will remain separate and will not acquire fresh authority.
Public and installed post-candidate source/verification edit regressions, clock/refusal tests and complete gates precede the next review. Seven reviews consumed, three remain. PR #110 and issue #59 remain open and unmerged; no current approval or acceptance is claimed. #56 histories remain unchanged.
Integrated Active AC1-6 Acceptance
PR #110 #110 merged through the owner-authorized /loop gates at2026-10-28T11:22:04Z as
b1c9ffca16f06596e5c3afdca3b9893cf7422d8d. Independently approved HEAD75db6fc43ad4917a72df589b21357ea592bda723, baseb11aae420517b14bbb4d85c84f9a0d82c14446c6. Canonical merged readback, fetched exact parents, approved-head ancestry and empty head-to-merge diff prove the integrated tree is the exact tested and reviewed content.Final primary closed-environment
make check: 2,275 passed,106 subtests,85 existing native opt-ins skipped,916.62s; all locked/static/types/import/secrets/diff gates passed.make package-checkpassed all installed/reproducibility/compatibility journeys;make auditfound no known vulnerabilities. Final focused ownership suite536PASS. Fresh complete Sol6.1High review8/10 APPROVE/findings[], nativeses_e7dd40a1bffedEmji0f2H33VRp, independently checked the full29-file/8,959-line delta and passed its own2275tests/106subtests/package checks. Exact-head CI3332/UI252 SUCCESS. No source changes after those gates or during review.Immutable History And Limits
Eight normal owner commits and all seven prior REQUEST_CHANGES results remain intact; 8/10 reviews used, two unused. No session/context/error recovery reset any counter. PR110comment19617 records exact final review/currentness/merge. #56 original PR108 closed/unmerged10/10 and distinct PR109 accepted recovery3/4 remain preserved.
Acceptance is within ADR0011/0012's trusted-local/cooperative namespace and retained-owned-process-group profile, not hostile same-UID isolation, escaped-descendant containment, strict native effect expiry or live/provider-billing proof. Unlocatable/unbound legacy resources remain unknown. Configured capture bounds and original finite retention ceilings remain separate. The85skips are not promoted to live acceptance.
No #105drivers, #106ordinary engine, #57remote API, ADR0012 replan, new dependency/service, SR/MI/CC mutation, live inference/private payloads, main/release/deploy or gate waiver. Closing59 only after the integrated verification above. Next: return the same clean checkout to fetched develop and rebuild the full canonical queue; assess #105 independently.
kilo referenced this issue2026-10-30 17:51:49 +00:00