Skip to main content

curriculum-lifecycle

Process an active track in manifest order or resume an exact coordinator run. Use track-completion for standalone module completion.

Zur Installation springen

Quellinformationen

Repository
learn-ukrainian/learn-ukrainian.github.io
Letzte Quellaktivität
21. September 2026 um 00:01
Erkannte Sprache von SKILL.md
Englisch
Sterne
9
Forks
4

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
curriculum-lifecycle
description
Process an active track in manifest order or resume an exact coordinator run. Use track-completion for standalone module completion.
# Curriculum lifecycle Run repository commands from the repository root. Use canonical resource paths under `agents_extensions/shared/skills/`; provider-specific skill directories are deploy mirrors, not alternate sources. Keep the operator request short: ```text Use $curriculum-lifecycle for folk, terminal goal merge. Use $curriculum-lifecycle for c1, scope unbuilt, terminal goal certify. Resume $curriculum-lifecycle with run id <run-id>, owner <agent/task>. ``` This skill is the track-level entry point. It composes the deterministic coordinator with `$curriculum-preparation` and `$track-completion`; it does not reimplement readiness, preparation, building, certification, review, integration, or publication policy. Derive active tracks and order only from `curriculum/l2-uk-en/curriculum.yaml`. For a normal BIO request, this is one serial workflow: the coordinator owns manifest order, prerequisites, acquisition, deterministic resume, and the hash-bound receipt; the acquired module's `$track-completion` ledger is the only bounded-completion authority. ## Start or resume 1. Satisfy the repository issue, stream, worktree, research-classification, pending-decision, and quota/health preflight before mutation. Learner changes belong to the target track's stream epic, not the shared infrastructure epic. 2. Require an explicit operator-selected terminal goal and scope for every new run. If either is absent, ask once before starting; never infer it from history or rely on the coordinator's `scope=all` parser default. Resume uses the immutable goal and scope in the exact recorded run. 3. For a new run, map the requested selector to one of `all`, `built`, `unbuilt`, `stale`, or `one`, then start exactly one manifest-backed run: ```bash .venv/bin/python scripts/orchestration/curriculum_coordinator.py start \ --track <track> --owner <agent/task> --scope <scope> \ --terminal-goal <merge|certify|deploy> \ [--module <slug>] [--start <slug-or-position>] \ [--end <slug-or-position>] [--wave-size <n>] ``` `scope=one` requires exactly one active `--module <slug>` and forbids `--start` or `--end`. Every other scope forbids `--module`; optional range bounds apply only to those non-`one` scopes. Preserve the returned `run_id` and ledger path. Do not create a replacement run to bypass a lease, health pause, or manifest drift. The goal is immutable authority, not a progress label. A legacy run without one must use this exact transition with an operator-selected goal; never infer intent from `complete` or `PBR_PASS_QG_PENDING` history: ```bash .venv/bin/python scripts/orchestration/curriculum_coordinator.py \ migrate-terminal-goal --run-id <run-id> --owner <agent/task> \ --terminal-goal <merge|certify|deploy> ``` 4. Resume only the exact recorded run: ```bash .venv/bin/python scripts/orchestration/curriculum_coordinator.py resume \ --run-id <run-id> --owner <agent/task> ``` If the exact `run_id` and owner (or the recorded `resume_command`) are unavailable, stop and request them. Do not guess an identity or start a replacement run. If manifest authority changed, stop and use the coordinator's explicit adjudication path before starting a fresh run. Never migrate old state by hand. The coordinator status includes this exact `resume_command`; use it rather than reconstructing or replacing the run. ## Process one acquired module 1. Acquire the next prerequisite-safe module. The coordinator pauses without mutation when its fresh health/capability gate is unavailable: ```bash .venv/bin/python scripts/orchestration/curriculum_coordinator.py acquire-next \ --run-id <run-id> --owner <agent/task> ``` 2. Read the canonical readiness routing snapshot from the latest matching `MODULE_ACQUIRED` event in the returned ledger. Bind it to that event's track, slug, and attempt. The snapshot is a routing hint, not the full typed authority for requirement ownership, identity, HOLD, or partial-bundle decisions. Route its exact `next_action` uniformly for CORE, seminar, and BIO targets: | `next_action` | Exact next owner | | --- | --- | | `plan` | `$curriculum-preparation` | | `prepare` | Requirement- and identity-sensitive; resolve from the full result | | `build` | `$track-completion` | | `certify` | `$track-completion` | | `stop` | State- and owner-sensitive; reviewed HOLD or partial recovery | For `plan`, `prepare`, or `stop`, run the canonical evaluator once for the exact acquired target and use its full typed result to resolve ownership: ```bash .venv/bin/python scripts/orchestration/curriculum_readiness.py \ --track <track> --slug <slug> \ > <gitignored-readiness-result.json> ``` If any current failed requirement is owned by `plan` or `preparation`, route those cells through `$curriculum-preparation`; accept its returned typed result without calling lifecycle recursively. When every current requirement passes but a built result remains `prepare` solely because of `PREPARATION_IDENTITY_MISSING` or `PREPARATION_IDENTITY_DRIFT`, hand the exact target to `$track-completion`. After that skill starts or resumes its authoritative ledger, it must run the documented `request-preparation-rebuild <track/slug> --run-id <id>` transition before any post-build review. That transition reruns readiness with the consumed identity from `BUILD_RECORDED`, then either returns `BUILD_REQUIRED` or records the exact preparation blocker. Do not reacquire, repeat the evaluator, or loop through preparation. Fail closed on mixed or unknown combinations. For `stop`, validate that full typed result. `PREPARATION_HOLD_ACTIVE` without a partial-bundle finding is a terminal reviewed HOLD: preserve its evidence, leave the acquisition in place, report the hold, and do not record module completion or reacquire. A result whose state is `partial-bundle`, contains `PARTIAL_LEARNER_BUNDLE` owned by `built_artifact`, and has no active HOLD goes once to `$track-completion` for its existing forensic recovery. Do not reacquire. Reject a result containing both routes, or any unknown stop combination, without mutation or an evaluation loop. 3. For `build`, `certify`, an identity-only `prepare` exception, or the exact partial-bundle `stop` exception, resolve the acquired track's registered semantic profile from the manifest. Put the typed context in a gitignored runtime JSON file. Supply the schema-required `track`, `slug`, `family`, `phase`, `module_state`, and `evidence_identity` from the acquired result and authoritative module ledger; do not infer them or add free-form prompt prose to a profile: ```bash .venv/bin/python scripts/orchestration/prompt_contracts.py resolve-track \ --track <track> --context <runtime-context.json> ``` Preserve the returned prompt/source identity with the phase evidence. A retired or unknown track, stale selector, family mismatch, missing fragment, or unresolved input is a fail-closed configuration defect. 4. Follow `$track-completion` completely for the acquired `track/slug`. Reuse its exact ledger on resume. It owns plan review, build/recovery, read-only `$post-build-review`, repair routing, reviewer-instability handling, independent review, PR/CI/merge, publication evidence, and cleanup. 5. Record the module result from its authoritative ledger. A publishable result is accepted only after `$track-completion` reaches `COMPLETE` for the coordinator's exact goal; a terminal bounded-budget blocker is recorded as blocked rather than left stale: ```bash .venv/bin/python scripts/orchestration/curriculum_coordinator.py record-module \ --run-id <run-id> --owner <agent/task> --module <slug> \ --track-ledger <track-completion-ledger> --track-run-id <module-run-id> ``` Do not supply a coordinator disposition or repeat PR/worktree/cleanup policy. The coordinator validates the bounded run, rejects semantic evidence outside its model-call count, hashes the module ledger, and derives a concise result with elapsed time, model-call count, repair count, disposition, blocker, and next action. An incomplete module ledger cannot complete the coordinator. A migrated historical module is reacquired until its exact goal is proven. 6. Repeat acquisition serially until the coordinator reports `complete`. Module-at-a-time mutation remains mandatory; a wave groups health and review capacity but does not authorize concurrent learner writes. ## Legacy boundary Files under `docs/prompts/orchestrators` are hash-frozen evaluation or reference material, not completion authority. Their migration registry points to this skill and the code/config/prompt/policy owners. Do not paste an old suite into a production run, delete a retained oracle, or restore a retired track list.
Auf GitHub ansehen