Files
OBLITERATUS/docs/checkpoints/support-runbook.md
T

204 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Support runbook: checkpoints, placement, and distributed-state reports
**Artifact ID:** SUPPORT-DCI-001
**Version:** 0.3.0
**Status:** Wave 2 safe structural inspection available; producer conversion deferred
**Owner:** OBLITERATUS maintainers
**Tracking:** Use the repository issue and pull-request workflow; include sanitized evidence only.
## 1. Service overview
This runbook supports the current HF-compatible loader, process-local device
placement/offload, one-host remote runner, and reports involving distributed
checkpoint formats. The bounded structural inspector is current; producer
readers, adapters, trusted execution, and producer-backed conversion are not.
See the [guide](distributed-checkpoint-intake.md) and [support
matrix](support-matrix-v1.json).
## 2. Escalation ownership
| Report class | Primary owner | Escalate when |
|---|---|---|
| Model-capacity / “multi node offset” report | Distributed-runtime triage | Workflow exceeds one qualified host or exact model/topology is unknown |
| Descriptor/format/topology contract | Architecture | New format or overloaded term appears |
| Trusted-reader or filesystem boundary | Security | Report requires vendor/Python metadata reader |
| Reconstruction correctness | Test and data | Gap/overlap/replica/tie/padding behavior is unclear |
| Writer/recovery/resources | Persistence | ENOSPC, partial staging, or whole-state memory risk |
| Producer adapter | Adapter owner | Exact supported version/model mapping is identified |
| Provenance/PEFT | Data | Base/config/tokenizer/adapter identity is incomplete |
| Support claim | Release and documentation | A matrix status or public claim would change |
| Live multi-node runtime | Architecture and security | Reporter needs multiple participating hosts/processes |
## 3. Operational readiness checklist
- [ ] Record exact OBLITERATUS commit and installed package versions.
- [ ] Classify the request using the glossary before suggesting remediation.
- [ ] Run `obliteratus checkpoint inspect SOURCE --json` only when the source can
be handled under the local structural-inspection policy.
- [ ] Confirm whether the input is ordinary HF, DCP/FSDP, Megatron, DeepSpeed,
PEFT, or ambiguous.
- [ ] Confirm whether the goal is loading, conversion, surgery, export,
inference, or exact resume.
- [ ] Check the machine support row and its limitations.
- [ ] Do not describe a deferred/planned row as available.
- [ ] Do not cross the trusted-reader boundary during triage; no exact profile,
residual-risk acceptance, reader, adapter, or payload execution is part
of the current capability.
- [ ] Link evidence to the exact public issue or pull request and candidate commit.
## 4. Monitoring and alerts
There is no persistent intake service in version 1. For inspection, monitor the
CLI exit status and descriptor blockers; stable `DCI_*` codes identify the first
failed structural phase. For current model runs, monitor existing CLI logs,
stage transitions, host RAM/disk/VRAM, source and output paths, and validation
results. Alert thresholds and producer conversion metrics are not claimed.
## 5. Common scenarios
### A. “Model needs multi node offset”
1. Route the complaint primarily to live model-capacity triage; record that
this remains an interpretation,
not a reporter-defined standard term.
2. Request the exact model/revision, workflow stage, current memory/topology,
desired host count, failure output, and sanitized environment evidence.
3. Do not infer a checkpoint producer or adapter from the phrase. Treat a DCP,
Megatron, or ZeRO/UCP artifact as a separate request that requires independent
exact producer evidence.
4. Treat an explicit affine/reference-mean activation offset hypothesis as a
separate algorithm question.
5. State that current model support remains single-process placement/offload or
one process on one remote host; the distributed command is preflight only.
### B. HF model does not fit on one device
1. Confirm model-family placement restrictions and current CLI help.
2. For compatible families, use existing single-process placement/offload or a
supported quantization mode with sufficient headroom.
3. Do not call `device_map` rank sharding or multi-node execution.
4. Preserve the Qwen hybrid one-device restriction.
### C. DCP, Megatron, or DeepSpeed directory supplied today
1. State that no current OBLITERATUS producer adapter is qualified.
2. Run the structural inspector only; a successful classification is not a load
or conversion result.
3. Do not invoke an unfamiliar vendor reader as a diagnostic shortcut.
4. Collect only sanitized structural evidence from the descriptor.
5. Record the deferred adapter capability and offer external producer-supported
conversion only as an operator-controlled workaround.
### D. Conversion or save runs out of RAM/disk
1. Preserve the source and any prior valid output.
2. Record stage, normalized error, host resource totals/free capacity, source
logical size estimate, and staging status without private local identifiers.
3. Do not promote or reuse incomplete staging as valid output.
4. Classify full-state export pressure separately from common-writer failures.
### E. Request for exact training resume
Explain that the planned v1 output is model weights only. Exact resume normally
requires producer-specific optimizer, scheduler, RNG/scaler, progress, and data-
position state [R19R20](references.md#primary-and-upstream-sources).
### F. Trusted metadata is requested
1. State that the planned trusted-reader path is not currently implemented or
accepted for production use.
2. Do not treat locality, filenames, prior structural inspection, a checksum,
or `weights_only=True` as trust [R27R29](references.md#security-and-containment-sources).
3. When implemented, require fresh explicit intent plus an exact single-use
source/operation/runtime/isolation/resource-bound policy.
4. Refuse when any isolation/runtime capability is unavailable; never suggest a
weaker subprocess/container fallback or integrity override.
5. Prefer a producer-side safetensors export performed in the operator's already
trusted environment when an approved reader profile is unavailable.
6. Require security review of the exact source/runtime/profile/fixture decision;
keep adapter rows deferred until the complete evidence boundary passes.
## 6. Troubleshooting procedure
1. Capture `git rev-parse HEAD` and `python3 --version`.
2. Capture current CLI syntax with `python3 -m obliteratus --help`; do not rely on
examples that the parser rejects.
3. Identify the first failing stage: structural inventory/probe, current load,
placement, pristine check, surgery, save, reload, or a gated intake phase.
4. Compare the report to the support matrix and glossary.
5. Check architecture/model restrictions before changing placement.
6. Record normalized relative paths or opaque IDs, file sizes, safe digests,
versions, topology facts/provenance, and resource estimates.
7. Reproduce only with project-owned or explicitly approved fixtures.
8. Escalate to the owner table with exact evidence and a no-mutation statement.
## 7. Recovery and rollback
Current producer-neutral writes use sibling staging, validate all outputs,
recheck source identity, then promote. Existing model runs retain their current
persistence behavior.
- If inspection fails: no output should exist.
- If an exact registered capability reports a missing or incompatible optional
dependency: retain its `adapter_resolution.reason` diagnostic, install only
the named exact reviewed extra/version in the intended disposable profile,
and retry from an unchanged source. A dependency match does not satisfy the
separate trust-policy or profile-approval gates.
- If materialization fails: source/prior output remain unchanged; staging is not
success.
- If promotion validation fails: the common writer restores the prior
destination and removes owned staging; never overwrite evidence silently.
- If trust, source identity, runtime, containment, redaction, evidence, cleanup,
or security-baseline validation fails: promote nothing, allow no bypass, and
create a fresh attempt only after the cause is corrected.
- If an adapter support regression appears: remove/defer its static support row
and registry entry; ordinary HF loading remains available.
## 8. Change management
- Contract/schema changes require architecture and traceability review plus a
new schema version when incompatible.
- Adapter changes require exact producer-version fixtures and retained evidence.
- Trusted-reader/profile changes require an exact threat model, degraded-mode
review, security tests, and explicit residual-risk acceptance.
- Support status changes require release approval and offline contract validation.
- Live multi-node claims require architecture and security approval plus exact
multi-host evidence.
- Delivery follows repository PR, signed-commit, and CI policy.
## 9. Communication templates
### Unsupported format
> OBLITERATUS identified this as `{format}`, which is `{status}` in support
> matrix v1. No source or prior output was changed. The blocking contract is
> `{code}` at `{phase}`. Continue with `{sanitized next action}`.
### Evidence pending
> The upstream framework documents this capability, but OBLITERATUS has no
> exact-version/model/topology qualification at the candidate commit. The row
> remains deferred until the required evidence passes.
### Conversion versus runtime
> Converting rank-sharded model weights into HF safetensors is an offline input
> step. It does not make the OBLITERATUS surgery process multi-node; that runtime
> remains a separate, unsupported capability.
## 10. Post-incident activities
- Preserve descriptor/manifest and test result digests.
- Record exact commit, versions, topology, resource admission/actuals, failure
code/phase, source-immutability result, and output-promotion result.
- Add a minimal project-owned regression fixture.
- Update risk, traceability, support matrix, and runbook if the contract changed.
- Never turn one successful case into an unqualified universal support claim.
## 11. Runbook maintenance
Review with each adapter version-band change, schema version, release candidate,
and incident. Security owns trust-boundary text; architecture owns terminology;
test/release own evidence status; support owns scenario clarity. Offline checks
must continue validating local links, CLI examples, and support-matrix contracts.