change-dag-lifecycle
Operate an authored Change DAG through dag_start, dag_status, dag_stop, retry, and dag_archive. Use when Nyx starts, monitors, recovers, retries, or archives Change DAG execution.
- License 许可
- MIT
- 所属仓库
- xiaden/SkyScow
- 最近更新
- 2026-09-30
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- change-dag-lifecycle
- description
- Operate an authored Change DAG through dag_start, dag_status, dag_stop, retry, and dag_archive. Use when Nyx starts, monitors, recovers, retries, or archives Change DAG execution.
03 SKILL.md 正文
Change DAG lifecycle
Nyx owns lifecycle control. dag_executor owns deterministic application. Change-DAG-Author performs one initial semantic dag_create and exits; the controller — the deterministic, Nyx-invoked construction-control surface (dag_construction_state, dag_construction_review, dag_construction_start, dag_semantic_repair_start) — owns construction motion, serialized Worker admission, mandatory review, repair routing, and final validation. Change-DAG-Reviewer is optional, bounded, and read-only. This skill operates the existing runtime; it does not define or modify it.
Start
- Confirm the DAG is present, schema-valid, and executable through the lifecycle tools.
- Call
dag_start(slug, retry?)for whole-DAG execution only. - If the root is already runtime-satisfied,
dag_startreturns an idempotentroot_satisfiedresult instead of launching: no queue entry, execution lock, marker, launch, or checkpoint.retry=truenever relaunches a satisfied DAG. - Interpret
runningas executor launched andqueuedas waiting for the workspace execution slot. - Unresolved semantic nodes may remain while authoring, but such a DAG is not executable:
dag_startrefuses any non-executable DAG — unresolved semantic state or a deterministic compiler/context conflict — surfacing all admission issues. anchor_commitis provenance, not a commit binding. Live repository drift can produce ordinary terminal failure and recovery.
Status
Poll dag_status(slug?) until the DAG is root_satisfied or idle/not active. Inspect failed and in_progress terminal nodes when execution stops. There is no durable quiescent state.
Stop and recovery
dag_stop(slug)is lifecycle control, not rollback. Satisfied work remains satisfied; a queued DAG may be removed. Nyx owns this operation but does not decide semantic construction or repair content.- The runtime handles process termination and interrupted-work reconciliation. Interrupted mechanical work is reconciled; an interrupted
runbecomes failed. - A running DAG is immutable. Do not mutate nodes or work while it runs.
- When execution stops with failed mutable work, route the bounded scope through the controller: exact terminal defects to
change-dag-fixer, semantic/graph defects tochange-dag-semantic-repairer, and authority issues to escalation. After the stopped DAG is repaired and validated, calldag_start(slug, retry=true)to retry the whole DAG. - There is no node- or subgraph-execution mode.
Completion and archive
- When the root becomes satisfied, the executor records inherited starting-worktree evidence, creates the executor-owned local checkpoint, and records it in the Work Log. Nyx does not stage or create this checkpoint manually; it is not publication.
- Provenance logging is enabled by default and disabled by
SKYSCOW_CHANGE_DAG_MUTATION_LOGGING=0,false, oroff; append failure after DAG persistence is nonfatal and exposed only as success metadata warning. No agent-facing mutation-log reader is provided. - Call
dag_archive(slug, reason)when retiring a DAG from the pending working set.reasonis required and non-empty. The bundle separatesDAG.json(current construction state), optionalDAG_MUTATIONS.jsonl(construction provenance),EXECUTION_STATE.json(execution lifecycle), andWORK_LOG.jsonl(execution evidence); archival moves all of them as-is, adds anARCHIVE.jsondisposition record (archived_at,reason,state_at_archive,artifacts_moved), and moves the bundle toartifacts/change-dags/archived/. Construction provenance is not merged into the Work Log. Provenance logging is enabled by default and disabled bySKYSCOW_CHANGE_DAG_MUTATION_LOGGING=0,false, oroff; append failure after DAG persistence is nonfatal and exposed only as success metadata warning. No agent-facing mutation-log reader is provided. - Archival is cleanup, not certification: a DAG may be archived after success, failure, abandonment, supersession, or cancellation. It does not require resolution, executability, root satisfaction, a failure-free state, or QA. Only operational safety applies: stop a running DAG first, and cancel a queued DAG with
dag_stop. Read the disposition record for the outcome; archive location is not success evidence.
QA boundary
Route completed work to independent QA after execution. QA is not a DAG phase or archive gate. A completed DAG is never reopened for QA: use a bounded raw repair for a small defect, or create a new remediation DAG for a substantial or cross-cutting defect.
04 同仓库更多 Skills
unquoted-colon
暂无简介
quoted-description
Use when a plain scalar contains a colon: like this one.
block-description
Use when a plain scalar contains a colon: like this one.
work-routing
Canonical authority for who owns the next unit of work — direct work versus delegation, task tiers, bounded localization, the Change DAG size threshold, R&D evaluation routing, progressive research escalation, researcher scope signals, and QA/support owner selection. Use before choosing execution, investigation, design, or QA ownership; do not use to construct dispatch prompts, handoff schemas, or Change DAG/DD tool operation.
update-docs
Update project documentation to match code changes — generate codemaps, refresh READMEs, detect doc/code drift using AST analysis. Use when updating documentation after code changes, generating codemaps, verifying doc accuracy, or detecting stale documentation. Do NOT use for writing API reference docs from scratch (use doc-coauthoring) or for creating new skill files (use making-editing-skills).
skill-loading-system
Explain or troubleshoot OpenCode skill discovery, loading, permissions, availability, or prompt injection.