Skip to content

Commit 2e3ef04

Browse files
committed
refactor(engine): retire raw recording in favor of sanitized observations
Remove the legacy raw invocation recorder, its launch flag and transport hooks, and its obsolete test modules. Retain the original qualification records with Superseded status and document the sanitized recorder as the sole implementation. Record the user-authorized configuration migration and live MCP reload. Preserve the old database and private recovery copies; use a separate private database for sanitized observations. Validation: 49 targeted tests passed. Engine refresh and read-only verification passed 73 suites and 121 checks. Live runtime reported current; all 28 observed MCP launches used sanitized recording.
1 parent bc7d9ef commit 2e3ef04

13 files changed

Lines changed: 117 additions & 698 deletions

File tree

‎docs/plans/README.md‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,9 @@ the historical temporary candidate checkout is no longer present.
159159

160160
## Agent interaction observation
161161

162-
[Agent interaction observation](agent-interaction-observation/plan.md) is accepted
163-
for its recorded isolated source. Its implementation and qualification evidence
164-
are retained with the Interface 47 checkout changes. The
162+
[Agent interaction observation](agent-interaction-observation/plan.md) retains
163+
historical acceptance for its isolated raw-capture source and is now Superseded.
164+
[Sanitized MCP observability](mcp-observability/plan.md) is the sole supported
165+
recorder after the user's 2026-10-22 migration decision. The
165166
[checkout reconciliation record](authoring-publication-evidence/reports/checkout-reconciliation.md)
166-
separates current integration checks from historical acceptance.
167+
separates historical qualification, synchronization and recorder retirement.

‎docs/plans/agent-interaction-observation/execution-ledger.md‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,13 @@ while 51 older checkout differences were restored to it. The initial complete
5454
repository check now passes 73 suites and 121 checks. Historical O-I1 results and
5555
the isolated campaign remain unchanged. Current combined Interface 47 validation
5656
is recorded in the [checkout reconciliation report](../authoring-publication-evidence/reports/checkout-reconciliation.md).
57+
58+
## 2026-10-22 — raw recorder superseded
59+
60+
After GitHub synchronization, the user explicitly selected the newer sanitized
61+
MCP recorder as the sole implementation, preservation of the old database and
62+
migration of the existing configuration. The raw source and its tests were
63+
retired. This plan's original acceptance and frozen qualification remain
64+
historical. The [migration and activation record](../mcp-observability/reports/recorder-retirement.md)
65+
documents the new configuration, preserved database, refreshed connections and
66+
49 passing targeted tests. The current plan status is Superseded.

‎docs/plans/agent-interaction-observation/plan.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Plan: Agent Interaction Observation
22

3-
**Plan status:** `Accepted`
3+
**Plan status:** `Superseded`
44

5-
**Current phase:** O1 — private agent-interaction capture
5+
**Current phase:** Raw capture retired by the user's 2026-10-22 decision; [sanitized MCP observability](../mcp-observability/plan.md) is the supported implementation. Historical O1 acceptance is retained below.
66

7-
**Next slice:** O1
7+
**Next slice:** none for this superseded implementation.
88

99
**Acceptance status:** `accepted`
1010

@@ -745,4 +745,4 @@ Analytics, interface-quality conclusions, and future interface redesign are sepa
745745

746746
- Acceptance status: `accepted`
747747
- Deferred follow-ups: MCP proxy, native-harness adapter, analytics/query tooling, automatic retention
748-
- Final status: `Accepted`
748+
- Final status: historical O1 `Accepted`; current implementation `Superseded` by sanitized MCP observability on 2026-10-22.

‎docs/plans/authoring-publication-evidence/reports/checkout-reconciliation.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,3 +97,12 @@ assertion against the actual captured runtime identity. The combined check ran
9797
Both recorder suites, existing MCP behavior, runtime identity, schema handling,
9898
snapshot handoff and the incoming Analysis fixture were covered. No standards
9999
wording changed during synchronization.
100+
101+
## Subsequent recorder selection
102+
103+
The user subsequently chose the newer sanitized implementation only, preservation
104+
of the historical raw database and migration of the existing configuration.
105+
The [retirement and activation record](../../mcp-observability/reports/recorder-retirement.md)
106+
supersedes the temporary dual-recorder compatibility decision above. The raw
107+
implementation and its tests were removed; all 49 remaining targeted checks
108+
passed, and the live sanitized installation was verified after reload.

‎docs/plans/mcp-observability/execution-ledger.md‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,15 @@ No production, validator or normative edits; both call-count assertions unchange
6868
Final evidence retains the historical I1 failure and resolves prior I2 transport
6969
confusion. Reviewed bounded staged scope before committing for approved PR #4
7070
branch push; publication identity is the Git ref, merge remains parent-owned.
71+
72+
## 2026-10-22 — sole recorder and operator activation
73+
74+
The user selected this sanitized implementation as the sole supported recorder,
75+
authorized migration of the existing Codex launch configuration and required
76+
preservation of the earlier raw database. The earlier implementation was retired
77+
after 49 targeted checks passed. The live configuration was migrated and reloaded
78+
through the running daemon; all 28 observed server launches used the sanitized
79+
options, and new sanitized observations were confirmed. The original database
80+
and private recovery backups remain separate historical evidence. The
81+
[retirement and activation record](reports/recorder-retirement.md) owns the exact
82+
scope and validation; the original source qualification above is unchanged.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Raw recorder retirement and sanitized recorder activation
2+
3+
Date: 2026-10-22.
4+
5+
The user selected the newer sanitized recorder as the sole supported
6+
implementation, requested preservation of the historical raw database, and
7+
authorized migration of the existing launch configuration. This supersedes the
8+
temporary compatibility decision in synchronization merge `bc7d9efd`.
9+
10+
## Source and configuration
11+
12+
The raw `interaction_observation` implementation, its two test modules, the
13+
`observation_db` constructor argument and the `--observation-db` launch option
14+
were removed. Historical O1 qualification records remain; that plan is now
15+
Superseded. Interface 47, generated agent-tool contracts and normative standards
16+
are unchanged. `interaction_observer` is the remaining recorder owner.
17+
18+
Only the Standards Engine argument list in `/home/jeremy/.codex/config.toml`
19+
changed. All other parsed configuration values were preserved. The new arguments
20+
select `--observe-database` at
21+
`/home/jeremy/.local/share/standards-engine/observations/sanitized.sqlite3` and
22+
`--observe-deployment codex-local`. The destination directory is mode 0700;
23+
the new database is mode 0600, outside the repository and separate from domain
24+
stores. Recording uses the sanitized recorder's existing defaults and schema.
25+
26+
The original `.standards-engine/interaction-observations.sqlite3` remains in
27+
place. A consistent SQLite backup and the original configuration are retained
28+
in a private operator recovery directory outside the repository. No raw rows,
29+
configuration secrets or live observation payloads accompany this report.
30+
31+
## Activation and checks
32+
33+
The running Codex daemon acknowledged `config/mcpServer/reload`. A subsequent
34+
`runtime_info` call through this thread's configured server returned interface
35+
47 and installation state `current`. A process check observed 28 Standards
36+
Engine MCP launches with the sanitized options and none with the raw option.
37+
The new database contains `sessions`, `interactions` and `events`, with new
38+
observations present. The preserved old database still had its original 135
39+
sessions and 885 interactions at the post-reload check.
40+
41+
The supported configuration and reload boundaries are described in
42+
[OpenAI's MCP configuration documentation](https://learn.chatgpt.com/docs/extend/mcp?surface=cli)
43+
and [app-server documentation](https://learn.chatgpt.com/docs/app-server).
44+
The daemon was not restarted; loaded connections were refreshed through its
45+
configuration operation.
46+
47+
The sanitized recorder, existing MCP behavior, runtime identity, schema
48+
presentation, snapshot handoff and incoming Analysis fixture passed all 49
49+
targeted tests on the retired-source candidate. Engine repository verification
50+
passed 73 suites and 121 checks. A separate negative CLI probe confirmed the
51+
retired flag is rejected before opening a preserved database copy, whose digest
52+
remained unchanged. The historical raw recorder's earlier tests and acceptance
53+
are evidence for its original source only.

‎evaluation/standards-effectiveness/generated/suite-inputs.json‎

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -887,7 +887,7 @@
887887
]
888888
},
889889
{
890-
"digest": "sha256:415dc2a22a7d6448d6205b7648d7ad5bcb59a7263babeb436e1c09c5aa27937b",
890+
"digest": "sha256:32472c630734bc0a281d376b1efdbc8cc6163fff42cdca23699d06cc2e9bef8a",
891891
"path": "docs/plans/README.md",
892892
"state": "present",
893893
"uses": [
@@ -7313,7 +7313,7 @@
73137313
]
73147314
},
73157315
{
7316-
"digest": "sha256:78ae764c5e17a8628c6d2df095195f9b40785da1da1ca8a3c9aa98302a04a52a",
7316+
"digest": "sha256:9ee0999a00a09a285c07411d339bbd42baffdab2817488aaae878a2749c78df4",
73177317
"path": "tools/standards_engine/README.md",
73187318
"state": "present",
73197319
"uses": [
@@ -7626,18 +7626,6 @@
76267626
}
76277627
]
76287628
},
7629-
{
7630-
"digest": "sha256:44a338768c3245fb4a9317fe6c3e1ff304f49ca8fd48fa20a22881bfa2fd06e5",
7631-
"path": "tools/standards_engine/standards_engine/interaction_observation.py",
7632-
"state": "present",
7633-
"uses": [
7634-
{
7635-
"check": "python-package-contract",
7636-
"role": "package-contract-input",
7637-
"suite": "a1c-public-cutover"
7638-
}
7639-
]
7640-
},
76417629
{
76427630
"digest": "sha256:bc14652d3aa78ea400495d7f89fe9c4662c4de16acf759cac41d8279239a2a78",
76437631
"path": "tools/standards_engine/standards_engine/interaction_observer.py",
@@ -7663,7 +7651,7 @@
76637651
]
76647652
},
76657653
{
7666-
"digest": "sha256:1a30c65a51cc1e10939cd42d7bd85a77e966b624141ec4da5c3d7b33c07ee230",
7654+
"digest": "sha256:899c6bb6605a9b6e07bee7992c48120f3dd10fe2a8bf77fa9d20a35a3575ab22",
76677655
"path": "tools/standards_engine/standards_engine/mcp.py",
76687656
"state": "present",
76697657
"uses": [
@@ -14094,7 +14082,7 @@
1409414082
"path": "evaluation/standards-effectiveness/suite-registry.toml"
1409514083
},
1409614084
"repository_index": {
14097-
"digest": "sha256:ca93367d16925cdf297eba515ada44d25ed171b087de758cd93136f52c85c376",
14085+
"digest": "sha256:3df2bd48406cef6d36cbe2e40436ac663644bc23983ef48614d8b159b56c6332",
1409814086
"uses": [
1409914087
{
1410014088
"check": "python-package-contract",

‎tools/standards_engine/MCP-OBSERVABILITY.md‎

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,11 @@ operations, or change the installed agent catalog. The qualification observer re
66
**observer v3**, with its existing raw-event acquisition, assessment and exact-source
77
replay. The production recorder does not import the harness or rewrite verdicts.
88

9-
This document describes the sanitized recorder selected by `--observe-database`
10-
and `--observe-deployment`. The independent `--observation-db` option in the
11-
[Engine README](README.md#private-interaction-observations) captures raw invocation
12-
values under its own operator contract. Enabling sanitized observations does not
13-
enable raw capture. Each recorder needs a dedicated database; their schemas are
14-
not interchangeable. The privacy and retention rules below describe the
15-
sanitized recorder.
9+
The sanitized recorder selected by `--observe-database` and
10+
`--observe-deployment` is the sole supported recording mode. The earlier raw
11+
recorder and its `--observation-db` option are retired. Historical raw databases
12+
retain their original schema and remain separate evidence; configure a new
13+
dedicated database for sanitized observations.
1614

1715
## Configuration and authority
1816

‎tools/standards_engine/README.md‎

Lines changed: 14 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,10 @@ See [checkout reconciliation](PURPOSE-SEPARATION.md#publication-checkout-reconci
3030

3131
The versioned sections below retain implementation history.
3232

33-
Sanitized operator measurements use `--observe-database` with
34-
`--observe-deployment`; see [MCP observability](MCP-OBSERVABILITY.md). Private raw
35-
invocation capture uses the separate `--observation-db` option documented below.
36-
Both are disabled by default and preserve the existing qualification observer v3
37-
and agent-visible interface. Each recorder requires its own database file;
38-
their schemas and retained data differ.
33+
Optional sanitized operator measurements use `--observe-database` with
34+
`--observe-deployment`; see [MCP observability](MCP-OBSERVABILITY.md). Recording is
35+
disabled by default and preserves the existing qualification observer v3 and
36+
agent-visible interface. This is the sole supported MCP recorder.
3937

4038
## Purpose separation (interface 31)
4139

@@ -409,35 +407,13 @@ See [the public contract](PURPOSE-SEPARATION.md#focused-routing-fact-assertions-
409407
[host qualification](tests/ROUTING-FACT-QUALIFICATION.md). Reload the server/catalog
410408
after installation without changing launch arguments or deleting stores.
411409

412-
## Private interaction observations
413-
414-
MCP launch optionally accepts `--observation-db /existing/private/directory/observations.sqlite3`.
415-
Omitting the option disables observation: no observation database, serialization
416-
or retained recorder state is created. The parent directory must already exist.
417-
Use a dedicated file separate from every Engine domain store. The operator owns
418-
its filesystem permissions and retention; request values can contain repository
419-
or user material. This feature neither exports data nor performs cleanup.
420-
421-
Each process records one session with the existing RuntimeIdentity interface
422-
version, catalog digest, schema digest and purpose. Ready-session `tools/call`
423-
parameters are committed exactly as supplied, before tool-name/argument checks;
424-
JSON-RPC envelopes and lifecycle traffic are excluded. Sequence numbers order
425-
invocations within a session. Only existing string identifiers `kind`, `code`,
426-
`outcome` and `status` from structured results may be attached as response
427-
metadata. Bodies, standards text, messages, details and nested result data are
428-
excluded; missing metadata remains SQL NULL and implies no classification.
429-
430-
The local SQLite store has `PRAGMA user_version = 1`, with `sessions` and
431-
`interactions` as defined by the
432-
[observation plan](../../docs/plans/agent-interaction-observation/plan.md).
433-
Cold reopening appends a new session and preserves previous rows. Unknown
434-
versions or contradictory schemas are rejected without migration or recreation.
435-
On initialization, serialization or write failure, capture becomes inert for
436-
that process and emits at most one bounded diagnostic to private stderr.
437-
Diagnostic-channel failure is also contained. MCP catalogs, results and errors
438-
remain unchanged. Observation is evidence only and has no domain authority.
439-
440-
To stop future recording, omit `--observation-db` on the next launch. Historical
441-
file deletion remains an operator action. No installed MCP registration is
442-
changed by this source feature; use an explicitly configured disposable launch
443-
for qualification before selecting a real local destination.
410+
## Recorder migration
411+
412+
The earlier raw invocation recorder was retired on 2026-10-22. Its
413+
`--observation-db` launch option is no longer accepted. Historical raw databases
414+
remain operator-owned evidence and are not converted, reused or deleted.
415+
Select a new dedicated database with `--observe-database` and a nonsensitive
416+
`--observe-deployment` label. Follow the [sanitized recorder's operating contract](MCP-OBSERVABILITY.md)
417+
for permissions, retained data, retention and reports. The
418+
[original observation plan](../../docs/plans/agent-interaction-observation/plan.md)
419+
retains its historical acceptance and qualification records.

0 commit comments

Comments
 (0)