Holon Runtime Operations Skill
Summary
Use this skill to inspect Holon runtime health, diagnose agent and lifecycle
failures, maintain incremental error checkpoints, produce explicitly
authorized patrol reports, and prepare sanitized upstream bug reports.
This skill extends the platform-neutral ops workflow. It does not grant
credentials, remediation authority, scheduled execution, direct database
access, or GitHub publication authority.
When To Use
- diagnosing Holon daemon, agent, WorkItem, task, wait, timer, event-ingress,
provider, tool, workspace, or delivery behavior
- preparing an authorized Holon restart, upgrade, rollback, or recovery
- counting and deduplicating new Holon runtime errors
- running an explicitly configured report-only patrol
- preparing or publishing a sanitized
holon-run/holon issue under the
applicable bug-reporting policy
Do Not Use
- for general server or service administration unrelated to Holon
- to read task objectives, messages, prompts, transcripts, memory, or model
request bodies for an activity report
- to turn a diagnosis or patrol authorization into repair authority
- to access the runtime database by default or depend on a private schema
- to publish security, privacy, credential, personal-data, or corruption
findings automatically
Authority Gates
Treat these as separate authorizations:
- read-only runtime diagnosis
- maintenance or remediation
- scheduled patrol
- anomaly notification
- direct runtime-database read
- direct runtime-database write
- GitHub duplicate search
- issue draft creation
- issue publication
Record the scope, source, expiry, and revocation conditions of standing
authorizations. If a gate is absent or ambiguous, stop at the last authorized
step and report what is needed next.
Source Priority
Collect evidence in this order:
- native runtime tools for their declared responsibility
- declared machine-readable
holon CLI commands
- authoritative service or deployment logs
- deployment configuration and version metadata
- separately authorized read-only runtime-database queries as a final
deep-diagnostic fallback
Use holon commands to discover the current CLI contract and holon context
to inspect caller provenance. Do not manually construct caller-context
environment variables and do not use recursive holon run or holon prompt
as a control-plane substitute.
Direct database writes are not a diagnostic technique. They are H3 recovery
actions requiring exact approval, a snapshot, a bounded mutation, rollback,
and verification.
Live Runtime Database Diagnosis
Keep the runtime database readable under its existing deployment permissions,
but do not treat direct access to a live runtime.sqlite as the default
diagnostic path. Prefer native runtime tools and APIs.
If direct structural inspection is necessary:
- require the direct runtime-database read authority gate
- inspect a verified offline backup unless separate maintenance authority has
been granted to stop the Holon service
- if maintenance authority has not been granted and no verified backup exists,
request authorization instead of stopping the service
- do not open the live database with an unmanaged SQLite client while Holon is
running, even in read-only mode
- never delete, rename, replace, restore, or copy over live
-wal or -shm
sidecars
If Holon reports a deleted-open WAL/SHM file or an inode divergence:
- do not delete files or immediately restart over the evidence
- record the database path, sidecar path, process ID, FD, device, and inode
- preserve the main database and both sidecars before recovery
- perform recovery or restart only under explicit maintenance authority,
using the preserved files and an offline verification step
These are operational safety rules, not access-control requirements. Do not
change directory ownership or permissions unless the operator separately
authorizes that deployment change.
Installation Inventory
Keep one record per Holon installation:
work/inventory/installations/<installation-id>/info.yaml
Recommended fields:
schema: holon.ops.installation.v1
id: local-dev
environment: development
owner: operator
deployment_mode: local-binary
version:
reported: 0.1.0
commit: "<git-sha-or-null>"
runtime:
endpoint_ref: local-control-plane
service_ref: null
authoritative_sources:
- kind: runtime
ref: native-tools
- kind: deployment
ref: "<safe-reference>"
data_boundaries:
activity_reports: runtime-metadata-only
database_access: disabled
notes: null
Do not place credentials, callback URLs, secret values, private keys, or raw
payloads in inventory.
Standard Diagnosis
- Identify — installation, environment, version, deployment mode, impact,
reporting window, and authority.
- Snapshot — current agent/runtime state and deployment state using the
highest-priority available sources.
- Bound — choose the smallest relevant agents, WorkItems, tasks, errors,
components, and time range.
- Collect — lifecycle metadata, statuses, timestamps, exit classes,
redacted errors, and authoritative log references.
- Correlate — order evidence by time and explicit state transitions.
- Classify — expected behavior, configuration, dependency, deployment,
suspected Holon defect, security/privacy, or unknown.
- Report — facts, inference, confidence, impact, workaround, missing
evidence, and recommended next action.
- Change only if authorized — use the
ops preflight, execution, rollback,
operation-record, and verification workflow.
Do not treat queued, yielded, blocked, waiting, and current WorkItems as
interchangeable. Use the runtime's declared lifecycle views rather than
reconstructing scheduler state from incidental logs.
Incremental Error Analysis
Maintain one checkpoint per installation and source:
work/checkpoints/<installation-id>-<source-id>.json
Example:
{
"schema": "holon.ops.checkpoint.v1",
"source": "runtime-events",
"cursor_kind": "timestamp_and_id",
"cursor": {
"timestamp": "2026-09-06T00:00:00Z",
"id": "event-redacted"
},
"last_successful_run": "2026-09-06T00:10:00Z"
}
Rules:
- use a deterministic boundary such as
(timestamp, stable_id) when possible
- query with overlap, then deduplicate, so equal timestamps and late records
are not lost
- fingerprint from sanitized component, error class, normalized message shape,
relevant state transition, and version; never hash a secret-bearing raw body
and publish the hash as if it were safe
- distinguish occurrence count, affected agents or operations, first seen,
last seen, and new-versus-known status
- state explicitly when sources are missing, truncated, reset, or inconsistent
- write the new checkpoint only after collection, analysis, report persistence,
and required delivery all succeed
- on failure, retain the previous checkpoint and record the failed run
Patrol Configuration
Patrol is disabled until the operator approves and persists a policy:
work/policies/patrol.yaml
Suggested contract:
schema: holon.ops.patrol.v1
enabled: false
mode: report-only
timezone: Etc/UTC
schedule:
kind: daily
at: "09:00"
scope:
installations: []
environments: []
agents: []
exclude_agents: []
window:
kind: since-last-success
checks: []
data_policy: runtime-metadata-only
notifications:
report_destination: null
anomaly_destination: null
silence_windows: []
review:
expires_at: null
next_review_at: null
Confirm the IANA timezone, daylight-saving behavior, scope, exclusions,
reporting window, checks, timeout, concurrency, destinations, retention,
checkpoint initialization, review date, and revocation conditions before
scheduling.
An enabled patrol remains report-only unless a separate named remediation
authorization exists. Never infer automatic repair, restart, cancellation,
upgrade, issue submission, or database access from the patrol policy.
Metadata-Only Activity Reports
Approved report data may include:
- installation and runtime version
- agent ID, lifecycle state, creation time, last approved activity timestamp,
and state transition counts
- aggregate WorkItem, task, wait, timer, and delivery counts or outcomes
- newly observed error fingerprints and trends
- recorded deployments, restarts, maintenance actions, findings, and incidents
Excluded data:
- WorkItem objective or plan content
- task command or prompt content
- operator, external, or model messages
- prompts, transcripts, memory, briefs, and model request or response bodies
- tool input/output payload bodies unless separately needed for a diagnosis and
excluded from the report
- environment values, credentials, callback capabilities, and secret-manager
material
Define “active” in the policy using approved metadata signals, for example a
lifecycle transition, task start/completion, or runtime-recorded activity
timestamp inside the report window. Do not infer activity from content access.
Recommended report outline:
# Holon daily operations report
## Executive summary
## Runtime and daemon health
## Agent current-state distribution
## Agent activity in reporting window
## WorkItem, task, wait, timer, and delivery lifecycle health
## New errors and trend versus previous window
## Open findings and incidents
## Deployments, restarts, and maintenance actions
## Recommended operator actions
## Data coverage and limitations
Persist reports under work/reports/daily/YYYY-MM-DD.md. Include the exact
timezone, UTC bounds, policy revision, sources, excluded sources, and
checkpoint outcome.
Finding and Incident Records
Use findings for bounded observations that need tracking:
work/findings/FIND-<timestamp>-<slug>.md
Include installation, time window, affected component and version, sanitized
evidence, fingerprint, occurrence count, impact, confidence, classification,
workaround, missing evidence, and recommended action.
Use incidents for active or materially impactful operational events:
work/incidents/INC-<timestamp>-<slug>.md
Follow the ops incident and operation-record rules. Link findings, reports,
authorized operations, and issue drafts instead of duplicating their full
contents.
Bug Escalation Policy
Persist the policy at:
work/policies/bug-reporting.yaml
Suggested contract:
schema: holon.ops.bug-reporting.v1
mode: disabled
repository: holon-run/holon
allowed_categories: []
rate_limit:
max_issues: 0
per_hours: 24
expires_at: null
require_duplicate_search: true
forbidden_auto_submit:
- security
- privacy
- credential
- personal-data
- data-loss
Modes:
disabled: local findings only
draft-only: create a sanitized draft and wait for operator review
scoped-submit: publish only while an explicit repository-, category-,
duration-, frequency-, and revocation-bounded policy is active
First enablement must be draft-only. This skill defines scoped-submit for a
possible future authorization but grants none.
Sanitized Issue Workflow
- Confirm the bug-reporting mode and publication authority.
- Establish affected version, environment class, frequency, impact, and a
minimal reproducer or strong evidence chain.
- When GitHub read access is authorized, search open and closed
holon-run/holon issues for duplicates.
- Classify security, privacy, credential, personal-data, corruption, or
data-loss findings for private escalation; do not auto-publish them.
- Replace identifying or secret-bearing values with stable placeholders.
- Write the issue body to
work/issue-drafts/<timestamp>-<slug>.md.
- Review the rendered body and every attachment for leakage.
- In
draft-only, stop and request operator approval.
- In
scoped-submit, revalidate repository, category, expiry, rate limit,
revocation, duplicate result, and forbidden categories immediately before
publication.
- Publish using
ghx file-based payload guidance and record the resulting
issue reference without copying authentication data.
Sanitize at least:
- installation, agent, WorkItem, task, event, request, and provider IDs
- usernames, home directories, absolute paths, hostnames, IP addresses, and
internal repository or branch names
- callback URLs and capability-bearing query strings
- tokens, cookies, headers, environment values, secrets, and key material
- message, prompt, transcript, memory, objective, brief, and model payload
content
Do not assume hashing makes sensitive data publishable. Prefer descriptive
placeholders such as <agent-id>, <local-path>, and <request-id>.
Recommended issue outline:
## Summary
## Environment and Holon version
## Minimal reproduction
## Expected behavior
## Actual behavior
## Sanitized evidence
## Impact and frequency
## Workaround
## Duplicate search
## Additional context
Completion Criteria
A diagnosis or patrol run is complete only when:
- scope, authorization, sources, and data limitations are recorded
- observations and inferences are separated
- errors are deduplicated and checkpoint handling is explicit
- the report or finding is persisted and delivered as configured
- no excluded content or secret-bearing material was retained
- any change has an
ops operation record, rollback result, and verification
- issue publication either stopped at a draft or recorded the exact applicable
publication authority
If any criterion is unmet, report partial completion and do not advance the
checkpoint.
1---2name: holon-runtime-ops3description: Operate and diagnose Holon runtimes with metadata-only patrol reports, incremental error analysis, and sanitized bug escalation.4---56# Holon Runtime Operations Skill78## Summary910Use this skill to inspect Holon runtime health, diagnose agent and lifecycle11failures, maintain incremental error checkpoints, produce explicitly12authorized patrol reports, and prepare sanitized upstream bug reports.1314This skill extends the platform-neutral `ops` workflow. It does not grant15credentials, remediation authority, scheduled execution, direct database16access, or GitHub publication authority.1718## When To Use1920- diagnosing Holon daemon, agent, WorkItem, task, wait, timer, event-ingress,21 provider, tool, workspace, or delivery behavior22- preparing an authorized Holon restart, upgrade, rollback, or recovery23- counting and deduplicating new Holon runtime errors24- running an explicitly configured report-only patrol25- preparing or publishing a sanitized `holon-run/holon` issue under the26 applicable bug-reporting policy2728## Do Not Use2930- for general server or service administration unrelated to Holon31- to read task objectives, messages, prompts, transcripts, memory, or model32 request bodies for an activity report33- to turn a diagnosis or patrol authorization into repair authority34- to access the runtime database by default or depend on a private schema35- to publish security, privacy, credential, personal-data, or corruption36 findings automatically3738## Authority Gates3940Treat these as separate authorizations:41421. read-only runtime diagnosis432. maintenance or remediation443. scheduled patrol454. anomaly notification465. direct runtime-database read476. direct runtime-database write487. GitHub duplicate search498. issue draft creation509. issue publication5152Record the scope, source, expiry, and revocation conditions of standing53authorizations. If a gate is absent or ambiguous, stop at the last authorized54step and report what is needed next.5556## Source Priority5758Collect evidence in this order:59601. native runtime tools for their declared responsibility612. declared machine-readable `holon` CLI commands623. authoritative service or deployment logs634. deployment configuration and version metadata645. separately authorized read-only runtime-database queries as a final65 deep-diagnostic fallback6667Use `holon commands` to discover the current CLI contract and `holon context`68to inspect caller provenance. Do not manually construct caller-context69environment variables and do not use recursive `holon run` or `holon prompt`70as a control-plane substitute.7172Direct database writes are not a diagnostic technique. They are H3 recovery73actions requiring exact approval, a snapshot, a bounded mutation, rollback,74and verification.7576## Live Runtime Database Diagnosis7778Keep the runtime database readable under its existing deployment permissions,79but do not treat direct access to a live `runtime.sqlite` as the default80diagnostic path. Prefer native runtime tools and APIs.8182If direct structural inspection is necessary:8384- require the direct runtime-database read authority gate85- inspect a verified offline backup unless separate maintenance authority has86 been granted to stop the Holon service87- if maintenance authority has not been granted and no verified backup exists,88 request authorization instead of stopping the service89- do not open the live database with an unmanaged SQLite client while Holon is90 running, even in read-only mode91- never delete, rename, replace, restore, or copy over live `-wal` or `-shm`92 sidecars9394If Holon reports a deleted-open WAL/SHM file or an inode divergence:95961. do not delete files or immediately restart over the evidence972. record the database path, sidecar path, process ID, FD, device, and inode983. preserve the main database and both sidecars before recovery994. perform recovery or restart only under explicit maintenance authority,100 using the preserved files and an offline verification step101102These are operational safety rules, not access-control requirements. Do not103change directory ownership or permissions unless the operator separately104authorizes that deployment change.105106## Installation Inventory107108Keep one record per Holon installation:109110```text111work/inventory/installations/<installation-id>/info.yaml112```113114Recommended fields:115116```yaml117schema: holon.ops.installation.v1118id: local-dev119environment: development120owner: operator121deployment_mode: local-binary122version:123 reported: 0.1.0124 commit: "<git-sha-or-null>"125runtime:126 endpoint_ref: local-control-plane127 service_ref: null128authoritative_sources:129 - kind: runtime130 ref: native-tools131 - kind: deployment132 ref: "<safe-reference>"133data_boundaries:134 activity_reports: runtime-metadata-only135 database_access: disabled136notes: null137```138139Do not place credentials, callback URLs, secret values, private keys, or raw140payloads in inventory.141142## Standard Diagnosis1431441. **Identify** — installation, environment, version, deployment mode, impact,145 reporting window, and authority.1462. **Snapshot** — current agent/runtime state and deployment state using the147 highest-priority available sources.1483. **Bound** — choose the smallest relevant agents, WorkItems, tasks, errors,149 components, and time range.1504. **Collect** — lifecycle metadata, statuses, timestamps, exit classes,151 redacted errors, and authoritative log references.1525. **Correlate** — order evidence by time and explicit state transitions.1536. **Classify** — expected behavior, configuration, dependency, deployment,154 suspected Holon defect, security/privacy, or unknown.1557. **Report** — facts, inference, confidence, impact, workaround, missing156 evidence, and recommended next action.1578. **Change only if authorized** — use the `ops` preflight, execution, rollback,158 operation-record, and verification workflow.159160Do not treat queued, yielded, blocked, waiting, and current WorkItems as161interchangeable. Use the runtime's declared lifecycle views rather than162reconstructing scheduler state from incidental logs.163164## Incremental Error Analysis165166Maintain one checkpoint per installation and source:167168```text169work/checkpoints/<installation-id>-<source-id>.json170```171172Example:173174```json175{176 "schema": "holon.ops.checkpoint.v1",177 "source": "runtime-events",178 "cursor_kind": "timestamp_and_id",179 "cursor": {180 "timestamp": "2026-09-06T00:00:00Z",181 "id": "event-redacted"182 },183 "last_successful_run": "2026-09-06T00:10:00Z"184}185```186187Rules:188189- use a deterministic boundary such as `(timestamp, stable_id)` when possible190- query with overlap, then deduplicate, so equal timestamps and late records191 are not lost192- fingerprint from sanitized component, error class, normalized message shape,193 relevant state transition, and version; never hash a secret-bearing raw body194 and publish the hash as if it were safe195- distinguish occurrence count, affected agents or operations, first seen,196 last seen, and new-versus-known status197- state explicitly when sources are missing, truncated, reset, or inconsistent198- write the new checkpoint only after collection, analysis, report persistence,199 and required delivery all succeed200- on failure, retain the previous checkpoint and record the failed run201202## Patrol Configuration203204Patrol is disabled until the operator approves and persists a policy:205206```text207work/policies/patrol.yaml208```209210Suggested contract:211212```yaml213schema: holon.ops.patrol.v1214enabled: false215mode: report-only216timezone: Etc/UTC217schedule:218 kind: daily219 at: "09:00"220scope:221 installations: []222 environments: []223 agents: []224 exclude_agents: []225window:226 kind: since-last-success227checks: []228data_policy: runtime-metadata-only229notifications:230 report_destination: null231 anomaly_destination: null232 silence_windows: []233review:234 expires_at: null235 next_review_at: null236```237238Confirm the IANA timezone, daylight-saving behavior, scope, exclusions,239reporting window, checks, timeout, concurrency, destinations, retention,240checkpoint initialization, review date, and revocation conditions before241scheduling.242243An enabled patrol remains report-only unless a separate named remediation244authorization exists. Never infer automatic repair, restart, cancellation,245upgrade, issue submission, or database access from the patrol policy.246247## Metadata-Only Activity Reports248249Approved report data may include:250251- installation and runtime version252- agent ID, lifecycle state, creation time, last approved activity timestamp,253 and state transition counts254- aggregate WorkItem, task, wait, timer, and delivery counts or outcomes255- newly observed error fingerprints and trends256- recorded deployments, restarts, maintenance actions, findings, and incidents257258Excluded data:259260- WorkItem objective or plan content261- task command or prompt content262- operator, external, or model messages263- prompts, transcripts, memory, briefs, and model request or response bodies264- tool input/output payload bodies unless separately needed for a diagnosis and265 excluded from the report266- environment values, credentials, callback capabilities, and secret-manager267 material268269Define “active” in the policy using approved metadata signals, for example a270lifecycle transition, task start/completion, or runtime-recorded activity271timestamp inside the report window. Do not infer activity from content access.272273Recommended report outline:274275```markdown276# Holon daily operations report277## Executive summary278## Runtime and daemon health279## Agent current-state distribution280## Agent activity in reporting window281## WorkItem, task, wait, timer, and delivery lifecycle health282## New errors and trend versus previous window283## Open findings and incidents284## Deployments, restarts, and maintenance actions285## Recommended operator actions286## Data coverage and limitations287```288289Persist reports under `work/reports/daily/YYYY-MM-DD.md`. Include the exact290timezone, UTC bounds, policy revision, sources, excluded sources, and291checkpoint outcome.292293## Finding and Incident Records294295Use findings for bounded observations that need tracking:296297```text298work/findings/FIND-<timestamp>-<slug>.md299```300301Include installation, time window, affected component and version, sanitized302evidence, fingerprint, occurrence count, impact, confidence, classification,303workaround, missing evidence, and recommended action.304305Use incidents for active or materially impactful operational events:306307```text308work/incidents/INC-<timestamp>-<slug>.md309```310311Follow the `ops` incident and operation-record rules. Link findings, reports,312authorized operations, and issue drafts instead of duplicating their full313contents.314315## Bug Escalation Policy316317Persist the policy at:318319```text320work/policies/bug-reporting.yaml321```322323Suggested contract:324325```yaml326schema: holon.ops.bug-reporting.v1327mode: disabled328repository: holon-run/holon329allowed_categories: []330rate_limit:331 max_issues: 0332 per_hours: 24333expires_at: null334require_duplicate_search: true335forbidden_auto_submit:336 - security337 - privacy338 - credential339 - personal-data340 - data-loss341```342343Modes:344345- `disabled`: local findings only346- `draft-only`: create a sanitized draft and wait for operator review347- `scoped-submit`: publish only while an explicit repository-, category-,348 duration-, frequency-, and revocation-bounded policy is active349350First enablement must be `draft-only`. This skill defines `scoped-submit` for a351possible future authorization but grants none.352353## Sanitized Issue Workflow3543551. Confirm the bug-reporting mode and publication authority.3562. Establish affected version, environment class, frequency, impact, and a357 minimal reproducer or strong evidence chain.3583. When GitHub read access is authorized, search open and closed359 `holon-run/holon` issues for duplicates.3604. Classify security, privacy, credential, personal-data, corruption, or361 data-loss findings for private escalation; do not auto-publish them.3625. Replace identifying or secret-bearing values with stable placeholders.3636. Write the issue body to364 `work/issue-drafts/<timestamp>-<slug>.md`.3657. Review the rendered body and every attachment for leakage.3668. In `draft-only`, stop and request operator approval.3679. In `scoped-submit`, revalidate repository, category, expiry, rate limit,368 revocation, duplicate result, and forbidden categories immediately before369 publication.37010. Publish using `ghx` file-based payload guidance and record the resulting371 issue reference without copying authentication data.372373Sanitize at least:374375- installation, agent, WorkItem, task, event, request, and provider IDs376- usernames, home directories, absolute paths, hostnames, IP addresses, and377 internal repository or branch names378- callback URLs and capability-bearing query strings379- tokens, cookies, headers, environment values, secrets, and key material380- message, prompt, transcript, memory, objective, brief, and model payload381 content382383Do not assume hashing makes sensitive data publishable. Prefer descriptive384placeholders such as `<agent-id>`, `<local-path>`, and `<request-id>`.385386Recommended issue outline:387388```markdown389## Summary390## Environment and Holon version391## Minimal reproduction392## Expected behavior393## Actual behavior394## Sanitized evidence395## Impact and frequency396## Workaround397## Duplicate search398## Additional context399```400401## Completion Criteria402403A diagnosis or patrol run is complete only when:404405- scope, authorization, sources, and data limitations are recorded406- observations and inferences are separated407- errors are deduplicated and checkpoint handling is explicit408- the report or finding is persisted and delivered as configured409- no excluded content or secret-bearing material was retained410- any change has an `ops` operation record, rollback result, and verification411- issue publication either stopped at a draft or recorded the exact applicable412 publication authority413414If any criterion is unmet, report partial completion and do not advance the415checkpoint.