| name | recording-cybernetic-run-outcomes |
| description | Use when a cybernetic skill invocation, artifact creation, blocked state, human feedback, or runtime outcome should be recorded as local metadata-only process evidence. Not for upload, skill self-modification, release, rollout, or accepting cloud candidates. |
Recording Cybernetic Run Outcomes
Overview
Record local process evidence for the cybernetic skill group.
This skill converts a completed local outcome into one or more metadata-only run
events. It is an observability helper, not a task-control check.
Primary output:
local JSONL event store
Use assets/run-outcome-template.md when a human-readable summary is needed
before event recording.
What This Skill Owns
This skill owns local metadata-only observability records for completed
cybernetic outcomes.
Owned recording:
- inspect the current run outcome and existing approved files;
- classify the event type and optional failure-taxonomy codes;
- write metadata-only local events through
scripts/record_run_event.py;
- validate local event files through
scripts/validate_run_events.py;
- recommend manual redaction/sync as a response-only follow-up when the operator explicitly asks for upload.
Routed elsewhere or excluded:
- upload and sync use the manual sync scripts after explicit redaction;
- GitHub issue creation, releases, machine updates, and skill modification use
their normal repository workflows;
- improvement candidates remain candidates until reviewed through the normal
review/eval/release process;
- ordinary cybernetic tasks can proceed without an observability check.
Metadata-only mode excludes raw prompts, content summaries/excerpts, artifact
bodies, code/log excerpts, credentials, customer data, real paths, and real
repository names by default.
Event Types
Use one of:
skill_invoked
route_decided
artifact_created
blocked
human_feedback
runtime_outcome
Safe Metadata
Allowed by default:
- event id
- timestamp
- event type
- privacy mode
- pseudonymous machine id
- skill pack release or source commit
- skill name
- task hash
- status/outcome
- taxonomy codes
- artifact type
- hashed path or hashed repository id when explicitly produced by script
Forbidden by default:
- raw prompt
- content summary or excerpt
- artifact body
- code/log excerpt
- credential, token, or secret
- customer data
- real path
- real repository name
- hostname-derived machine id
Process
- Identify the local outcome being recorded.
- Choose the event type and status.
- Add a taxonomy code only when it is clear from
observability/taxonomies/failure-taxonomy.yaml.
- Use metadata-only fields only.
- Record locally with:
python3 scripts/record_run_event.py --event <event> --status <status> --skill <skill> --dry-run
- For persistent local recording, remove
--dry-run or pass --output <local-jsonl>.
- Validate local event files with:
python3 scripts/validate_run_events.py --taxonomy observability/taxonomies/failure-taxonomy.yaml <event-file>
Upload Limit
This skill does not upload.
If the operator asks to upload or sync:
- first run redaction explicitly;
- use manual sync scripts, not this skill;
- keep real upload disabled unless destination and token configuration are explicit;
- never upload content summaries/excerpts or raw artifacts in metadata-only mode.
Improvement Candidate Limit
Reports, issues, eval candidates, and patch proposals generated from run events
are candidates only. They do not modify the execution rule until reviewed through
the repository's normal review/eval/release process.
Output Format
This output format is response-only. Do not write conversational next-step
prompts into run-event records.
Recorded cybernetic run outcome locally.
Event:
- type: ...
- status: ...
- taxonomy codes: ...
- privacy mode: metadata_only
Evidence:
- local event path or dry-run output
- validation command/result
If blocked:
Run outcome recording blocked.
Reason:
- ...
No upload was performed.
No skill files were modified.
Validation Checklist