D1-06 — Public self-contained operator path for Scarcity Router-backed task execution #44
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.
Dependencies
No dependencies set.
Reference
Creatidy/creatidy-kernel#44
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?
Problem
Public
creatidy-kernelcurrently depends operationally on privateInfrastructure/creatidy-onpremfor the normal bounded-task operator path.The private repository currently owns generic Kernel product/operator behavior:
scripts/kernel_operator.pykernel-env-*kernel-doctor.devkernel-task.preflight.devkernel-task.run.devThis violates the product boundary.
creatidy-kernelis public and must be independently usable without access to any private Creatidy repository.A concrete symptom is source-path discovery: different valid machines may contain the target repository at paths such as:
/home/adrian/workspace/scarcity-router/home/adrian/workspace/creatidy/scarcity-routerThese are both legitimate. Normal Kernel operation must not depend on repository-relative path guessing or require the user to configure the local checkout path.
Goal
Make the public Kernel package self-contained for bounded Scarcity Router-backed task execution.
A user with:
creatidy-kernel;must be able to validate and run a registered bounded task without cloning or accessing
creatidy-onprem.Required architecture
1. Source repository ownership
The normal path must NOT require
CREATIDY_KERNEL_SOURCE_REPOSITORY.Kernel already owns canonical repository URL, repository identity and base branch through
TaskSpec.For normal operation Kernel must prepare its own controller-owned read-only source clone/cache/worktree from that canonical repository.
Requirements:
/home/<user>/workspace/...;--repomay remain as an advanced/local override, but must not be required.Do not introduce a generic repository discovery framework.
2. Codex discovery
Normal operation must not require manual configuration of:
CREATIDY_KERNEL_CODEX_BINCREATIDY_KERNEL_CODEX_VERSIONwhen an unambiguous supported Codex is available on
PATH.Kernel should:
codex --version;No thread or turn during discovery/doctor/preflight.
3. Local state/evidence defaults
Normal operation must not require manual state/evidence path configuration.
Use platform-appropriate user-local defaults, preferably XDG-compatible on Linux, with the existing storage-safety requirements preserved.
Explicit path overrides remain allowed.
4. Runtime configuration / secrets
Move the GENERIC operator/profile behavior required by Kernel out of
creatidy-onpremand into the public Kernel product.Do not build a new secrets manager.
Requirements:
creatidy-onprem/.sops.yaml;5. Public operator UX
Provide a coherent public CLI/operator surface equivalent to the useful behavior currently hidden in
creatidy-onprem.It must cover at least:
doctor;preflight;run;status;export.Prefer installed CLI commands over product-specific Make targets.
The user should not need to know internal environment-variable names for normal operation.
6. Doctor diagnostics
doctorand preflight must preserve fail-closed behavior but provide useful safe diagnostics.For example, a
router_not_readyresult should distinguish safe categories such as:without exposing response bodies, credentials or unsafe free text.
Likewise source readiness should identify a real acquisition/remote/base problem rather than merely returning an opaque path failure.
7. Scarcity Router boundary
Scarcity Router remains an external independent product through the existing
ResourceAllocatorport.Do NOT:
The goal is to make Kernel's PUBLIC integration/operator path self-contained, not to merge the two products.
Preserve
Migration evidence
Inspect the current operator implementation in
Infrastructure/creatidy-onpremas REFERENCE behavior, but do not create a runtime dependency on that repository.Identify which behavior is:
Do not copy Creatidy-specific constants, paths, Forge host assumptions or SOPS recipient configuration into the public product.
Acceptance
A clean public Kernel checkout on a machine with varying workspace layout must be capable of a ZERO-INFERENCE:
doctor -> task preflight --task 166without
creatidy-onpremand without configuring a local Scarcity Router repository checkout path.Tests must demonstrate at least two unrelated filesystem layouts and prove that source acquisition is independent of checkout placement.
No live #166 execution is authorized by this issue.
No merge or deployment.
Why
See
### Problemabove: the public product's normal bounded-task operator path must not depend on any private repository.Scope
See
### Required architecture(sections 1-7). Non-goals are explicit there: no generic repository discovery framework, no new secrets manager, no Router policy embedding, no generic provider-routing framework.Constraints
See
### Preserveplus: no committed secrets; no Creatidy-specific constants, Forge host assumptions or SOPS recipient configuration in the public product; no live #166 execution; no merge or deployment.Acceptance Criteria
See
### Acceptanceabove. Verifiably: a clean public checkout supports zero-inferencedoctorthentask preflight --task 166withoutcreatidy-onpremand without a configured local Scarcity Router checkout path, and tests prove source acquisition is independent of checkout placement across at least two unrelated filesystem layouts.Links
D1-06 delivery ledger (issue #44 / PR #45)
issue-44-selfcontained-operator->develop)develop@fa81734ed10bfbdd6e7a75b138649a89a9724511c2944f0da538e60fb67f091bd70e66eea212e141max_remediation_cycles = 10,remediation_used = 0make checkPASS (966 tests, ruff, basedpyright strict 0 errors, lint-imports KEPT, secret scan clean),make package-checkPASS.Review log
(no completed reviews yet)
Remediation log
(none)
D1-06 delivery ledger (issue #44 / PR #45) — update 1
issue-44-selfcontained-operator->develop)develop@fa81734ed10bfbdd6e7a75b138649a89a9724511c2944f0da538e60fb67f091bd70e66eea212e141(unchanged since initial push)max_remediation_cycles = 10,remediation_used = 0Review log
Review cycle 1 (initial review; costs zero remediation cycles)
c2944f0da538e60fb67f091bd70e66eea212e141; basefa81734ed10bfbdd6e7a75b138649a89a9724511(frozen inputs verified by the reviewer against live Forgejo state before reviewing).kilo/command/review-pr.mdat architecture/security criticality. Routing policy for this delivery is the explicit owner override: reviewer model exactly GLM-5.3 (no Scarcity Router selection was consulted; no catalog/policy versions apply). Dispatched identity:account:zai-individual-coding-plan/GLM-5.3(reasoning levelmax).dwfrun-f09e08f3-8981-4a1a-b1d8-4877568ad1f4, subagentindependent-reviewer, fresh read-only context distinct from the implementation session.account:zai-individual-coding-plan/GLM-5.3$max; the reviewer session self-identified as GLM-5.3 (account:zai-individual-coding-plan/GLM-5.3). An Agent-Manager-styleResolved models:string does not exist in this harness; the recorded evidence is the dispatch configuration plus reviewer self-identification, both consistent with the owner-mandated model.substantive_verdict: APPROVE (### Overall Recommendation), zero blocking findings, 7 non-blocking suggestions, 2 author questions (recorded below as follow-up candidates).forgejo_review_state: COMMENT;platform_approval_recorded: false.platform_identity_limitation: the only available reviewer identity is the PR author account (kilo); Forgejo rejects formal self-approval ("approve your own pull is not allowed"). No branch-protection rule is observable with this account's permissions, so any formal-approval merge requirement is reported separately as unobservable, not assumed.make checkPASS (966 tests);make package-checkPASS. Forgejo CI atc2944f0(pull_request event, run #2192): success.remediation_used: 0 / 10.Remediation log
(none — no valid in-scope blocking findings)
Follow-up candidates recorded from review (not implemented; owner triage)
creatidy-kernel --profile X config validateignores the top-level--profile(usesconfig validate --profile).HOME/PATHvalues instead of pure placeholders.unsuitable_cache).evidence["source"]["cache_root"]recomputed instead of taken from the acquisition result.not_found).Readiness summary
For the exact frozen HEAD
c2944f0da538e60fb67f091bd70e66eea212e141: verified independent dispatch on the owner-mandated GLM-5.3, completed fresh full review with substantiveAPPROVE, zero unresolved blocking findings,make check+make package-checkPASS (implementation and reviewer sessions), green Forgejo CI (run #2192), acceptance criteria evidenced on the PR. Formal platformAPPROVEDis unavailable solely due to the shared author identity (recorded above). The issue remains open and the PR unmerged; merge authority stays with the owner.Documentation-only identity/status correction under #46, without changing the completed D1-06 acceptance scope: #44 is already integrated through PR #45 at
eb4f4a2956despite this issue remaining open. The Links section'sCreatidy/creatidy-kernel#143/#166qualification is incorrect; actual target identities are BioMedical-IT/scarcity-router#143 and BioMedical-IT/scarcity-router#166. Kernel task support is #32/#42. Historical #34/private rollout is not a current public-operator prerequisite. Expanded cache ownership/concurrency/dispatch safety and ciphertext/platform compatibility are distinct new work #61/#59/#62, not retroactively added to this completed delivery. No functional task or live execution is authorized by this correction.