Audit main-review memory classifications
Type: types/instruction.md
Identify classification defects in retained main analyses and route corrections through the producing method and source regeneration.
Inputs and authority
Use the supplied current overviews under kb/agentic-system-analyses/retained/.
Without an explicit selection, inspect all current analyses; do not
silently drop an input that fails. An input must belong to a complete current retained set. Its sibling
ARTIFACT.yaml pins every member, including the separate memory-profile.md. A legacy review,
old CSV, transfer scan or compact summary cannot substitute for that set.
If the request names only a legacy review, report the main-analysis regeneration
needed rather than treating its prose as classification evidence.
This procedure produces a diagnosis in the response, or at an audit destination commissioned by the caller. It does not edit generated reviews, retained results, comparison files or surveys, and it does not refresh source evidence. A request that also commissions corrections authorizes the subsequent producing workflow within that request's scope; do not request authorization again.
Check and read the inputs
- Load the memory report contract. Read
kb/agentic-system-analyses/types/agentic-system-memory-profile.md, includingmemory-comparison, the boundary typekb/agentic-system-analyses/types/agentic-system-boundary.mdfor sources and evidence layers, and the sharedkb/agentic-system-analyses/instructions/agentic-analysis-records.mdcontract for record identity and evidence interpretation. Readkb/agentic-system-analyses/types/agentic-system-analysis-overview.mdfor overview content. Record the procedure, contract, schema and reader identities used for the audit: this instruction, the shared contracts, those types and their.schema.yamlfiles,src/commonplace/lib/systems_matrix.py, and the producingkb/agentic-system-analyses/instructions/analyse-agentic-system/SKILL.md. Record hashes for any additional ontology definition actually used. - Check the selected population. From the repository root, use the existing main-result reader. Pass the explicit review paths as arguments to this check; omit them only for the all-current selection:
```bash
uv run python -
root = Path.cwd() inputs = load_results(root, [Path(p) for p in sys.argv[1:]] or None) fields = ("review_file", "artifact_file", "analysis_run", "source_identity", "reviewed_revision", "analysis_cutoff", "source_tier", "comparison_scope", "comparison_version") print(json.dumps({"inputs": inputs.hashes, "population": [{k: row[k] for k in fields} for row in inputs.rows]}, sort_keys=True, indent=2)) PY ```
Save the successful check output for the final recheck. A missing result,
hash/identity mismatch, malformed assessment or duplicate source identity
blocks the selected audit. Report the diagnostic and affected input; do not
repair generated bytes, use a legacy fallback or call the population checked.
Structural validation does not establish semantic consistency.
3. Read full sets. Read each selected retained set at its recorded
hashes: the overview's source register, reconciliation and limitations;
the runtime report's and memory report's records; and the memory report's
findings; and the separate memory-profile's comparison frontmatter.
Identify the profile revision from the reader's comparison_version.
Unversioned retained profiles are revision 1 and retain their original
contract, not revision-2 classifications. Read the matching historical
contract when evaluating original conformance. Record a semantic mismatch
with current comparisons separately; never mechanically reclassify old
values or treat a changed rule as proof that the original analysis failed.
Source revision and cutoff
bound the evidence; age alone neither invalidates an immutable observation
nor establishes present upstream behavior. Do not use last-checked or a
rolling age threshold as permission to edit it.
Diagnose the classifications
- Check each scoped operative part. Use canonical object, route and behavioral-authority records; do not produce a second system inventory.
| Question | Check against the recorded mechanism |
|---|---|
| Storage substrate | Where does this retained part persist? Preserve distinct stores; distinguish retained objects from transient views. |
| Representational form | How is the part encoded and consumed: natural-language, symbolic or distributed-parametric? A file extension or opaque encoding does not decide the form. parametric is the registered comparison abbreviation. |
| Lineage | What supplied or transformed the content? Preserve source/trace versus derived artifact, provenance, and any recorded invalidation or regeneration limits. |
| Behavioral authority | Which consumer receives it, through which channel, with what force and horizon? Separate payload advice from metadata enforcement, and epistemic warrant from operational permission. |
- Check the aggregate and dependent axes. Compare values and rationale with
the cited records and declared memory scope. A known set must cover all
scoped parts. In revision 2, inspect every axis's units and each finding's
value, basis, records and note. Check the named inventory's coverage and
each unit's unresolved part, missing fact and prevented conclusion. The
derived union's strongest evidence establishes existence only: it cannot
upgrade a weaker route with the same value. Complete strong profiles need
strong evidence for every positive unit finding. In revision 1, apply the
original per-value evidence contract. Partial coverage retains positives
without asserting a complete set; omitted values and unresolved included
parts never establish absence. Bounded absence and inapplicability require
their own records and boundary. Match scope across the
profile, objects, route branches and lens account, including opaque parts and
explicit exclusions. Preserve per-route distinctions such as a wired push
consumer and an afforded pull API. Do not
infer a model consumer from storage or infer activation from delivered text.
Check push signals at a named consumer and selector; distinguish requested
returns from automatic selection and names in a catalog from identity matches
that select delivered parts.
For revision-2 write agency, check each admission mechanism: manual means
an explicit human decision supplying, editing, approving or replacing the
retained content; automatic means software/model admission without that
decision. Do not infer manual admission from a generic caller, workflow
start or checkpoint read-back. Keep authorship and physical I/O separate.
Do not pool these classifications with revision-1 write agency.
For trace learning, retain a supported positive despite an unresolved
alternative. A local bounded
nois not a system-wide negative in partial coverage, and ayesunion must not erase local negative unit evidence. Distinguish retained raw traces from automatically produced durable material and its behavior-shaping consumer; keep source, scope, timing and distilled form attached to every qualifying scoped route. Apply the type's criterion to generated continuation summaries too; reshaping is not an exclusion and a session ID does not decide the task horizon. A test definition, quote check or format validator is not a retained recall-dependence test. -
Dispose each consequential issue. Report the affected field or passage, canonical IDs, exact result/run/hash, supporting sections and the applicable contract clause. Separate:
-
Supported: the terminology and assessment preserve the recorded mechanism.
- Evidence limit: an explicit unknown, uninspected part or missing consumer prevents a stronger conclusion; leave that limitation intact.
- Classification defect: the profile or projection contradicts its own records, loses a scoped part or upgrades evidence. State the contradiction, without writing a replacement system finding.
- Method gap: the shared vocabulary, aggregation rule or producing instruction cannot represent the recorded distinction. Name the smallest shared clarification needed and the result population it could affect.
An unknown is not itself a defect. If the retained evidence cannot decide whether a classification is wrong, identify the missing source inspection; do not independently reconstruct the external system in this audit.
Return or continue through the producer
- Recheck and report. Repeat the identical population check and require its identities and hashes to match. Recheck the recorded method/ontology hashes too. On drift, withhold current conclusions and restart on one boundary. Return selection, run/source/cutoff/tier, result hashes, method identities, dispositions, unassessed coverage and required regeneration. A clean audit means no defect found within that boundary, not source freshness or semantic endorsement. Validate an authorized written Markdown audit.
- Route commissioned corrections. When corrections are in scope, fix the shared method/contract if it is defective; when the existing method already covers the issue, keep it and rerun its application. Invoke analyse-agentic-system with the source identity, recorded revision or capture, target boundary, affected canonical findings, and the diagnosis. Use a new run ID and the producer's normal source inspection, validation and publication. The old result supplies the issue to check, not replacement source evidence. Missing source access blocks regeneration; it never licenses a prose patch. After publication, rerun this audit on the replacement result. Comparison and survey refreshes remain separately scoped downstream operations.
Verify
- Findings read the full main result and cite its canonical records and hash.
- Scope, evidence tiers, weaker bases and explicit uncertainty survive the audit.
- Neither generated findings nor their observation dates were hand-edited.
- Final input/population and method identities match the recorded boundary.
- Defects and gaps name their correction owner and regeneration condition; unsupported findings are withheld rather than patched into a review or survey.