docs: record control versus DryRun project deltas

This commit is contained in:
codex
2026-08-03 10:25:49 +03:00
parent 31787fc05a
commit 209b8b89b8
3 changed files with 104 additions and 16 deletions
@@ -0,0 +1,66 @@
{
"schemaVersion": 1,
"executionMode": "DryRun",
"fixture": {
"frozen": "<FROZEN_FIXTURE>",
"control": "<CONTROL_FIXTURE>",
"dryRun": "<DRYRUN_FIXTURE>",
"trackedFileCount": 210
},
"membership": {
"mechanism": "IDwgViewDef.DwgQuery.Execute -> MdObjectId.PrjObjectId -> DataLinksManager.FindAcPpRowId",
"orthoViews": 1,
"sourceObjects": 7,
"resolved": 5,
"partiallyResolved": 0,
"outsideView": 2,
"notResolved": 0,
"evidenceCode": "VIEW_MEMBERSHIP_FROM_CONFIRMED_PNP_ID"
},
"commands": {
"PHP_REC_ANNOT": {
"planSchemaVersion": 1,
"run1PlanId": "plan-AD701C7AA38D99E4C28D7D6D",
"run2PlanId": "plan-AD701C7AA38D99E4C28D7D6D",
"planDeterministic": true,
"summaryDeterministic": true
},
"PXP-AAV": {
"planSchemaVersion": 1,
"run1PlanId": "plan-C4FCD62F4EEBA1D1948FA22B",
"run2PlanId": "plan-C4FCD62F4EEBA1D1948FA22B",
"planDeterministic": true,
"summaryDeterministic": true
},
"PXP-OA": {
"planSchemaVersion": 1,
"run1PlanId": "plan-C30D133E2D5B4BF4C0AF2ED1",
"run2PlanId": "plan-C30D133E2D5B4BF4C0AF2ED1",
"planDeterministic": true,
"summaryDeterministic": true
}
},
"projectFileComparison": {
"controlDeltaCount": 0,
"dryRunDeltaCount": 0,
"modelDwgPluginOnlyDelta": "UNCHANGED",
"orthoDwgPluginOnlyDelta": "UNCHANGED",
"pipingDcfPluginOnlyDelta": "UNCHANGED",
"projectMetadataPluginOnlyDelta": "UNCHANGED"
},
"dbmod": {
"pairedRun": null,
"reason": "Command-window output was not retained."
},
"launcher": {
"controlSession": "RolledBack",
"dryRunSession": "RolledBack",
"netloadCount": 1,
"profileArgumentPresent": false
},
"apply": {
"performed": false,
"authorised": false,
"reason": "All operations remain Skip; annotation rules are not yet implemented."
}
}
@@ -3,9 +3,11 @@
Date: 2026-08-03 Date: 2026-08-03
The local test fixture's `TestPipeOrtho.dwg` was detected as Ortho with one The local test fixture's `TestPipeOrtho.dwg` was detected as Ortho with one
viewport. In `DryRun`, `PHP_REC_ANNOT` ran twice, `PXP-AAV` ran twice, and viewport. In the paired `DryRun`, `PHP_REC_ANNOT`, `PXP-AAV`, and `PXP-OA`
`PXP-OA` ran once. All completed without an unhandled exception; `DBMOD` was each ran twice. Plugin telemetry recorded all six preflight completions without
`0` before and after. an unhandled exception. The command-window DBMOD output was not retained for
this paired run, so its DBMOD value is recorded as `NOT RECORDED` rather than
inferred from telemetry.
`PlantProject.Name` was available for this fixture and rendered as `PlantProject.Name` was available for this fixture and rendered as
`PRecAnnotTestProject`. `PRecAnnotTestProject`.
@@ -17,12 +19,28 @@ reference. The adapter resolves that reference through
`PipingProject.GetPnPDrawingFiles()` and reads `PipingProject.GetPnPDrawingFiles()` and reads
`DataLinksManager.SelectAcPpRowIds(PnPProjectDrawing.Id)`. `DataLinksManager.SelectAcPpRowIds(PnPProjectDrawing.Id)`.
On the latest real DryRun, one source drawing was resolved and seven source On the paired real DryRun, one source drawing was resolved and seven source
Plant objects were read. `PHP_REC_ANNOT` reported seven skipped operations, Plant objects were read. The confirmed view query resolved five source rows to
zero writes, zero conflicts, and zero errors. This verifies source-model the active viewport and classified two as outside the view. Each command
DataLinks access; it does not yet verify exact source-object-to-viewport reported seven skipped operations, zero writes, zero conflicts, and zero
membership or repeated-plan determinism. errors. The repeated plans were deterministic:
The test fixture SHA baseline changed for `Piping.dcf` before the first DryRun | Command | Run 1 / run 2 PlanId |
command. This run therefore does not prove DCF invariance. A paired control | --- | --- |
fixture versus DryRun fixture comparison remains required. | `PHP_REC_ANNOT` | `plan-AD701C7AA38D99E4C28D7D6D` |
| `PXP-AAV` | `plan-C4FCD62F4EEBA1D1948FA22B` |
| `PXP-OA` | `plan-C30D133E2D5B4BF4C0AF2ED1` |
This verifies source-model DataLinks access, exact view membership through the
stored view query, and repeated-plan determinism. The remaining functional
limitation is annotation-rule coverage: all seven operations remain safe
`Skip` operations, so no first Apply is authorised.
The earlier single-fixture SHA baseline changed before the first command and
was therefore inconclusive. A fresh paired comparison used 210-file CONTROL
and DRYRUN copies created from the same closed frozen fixture. Both inventories
had zero SHA-256 delta after their respective sessions. The CONTROL session
invoked no plugin command; the DRYRUN session invoked all six commands. Thus
the model DWG, Ortho DWG, `Piping.dcf`, project metadata, and other tracked
content-bearing files have no plugin-only delta in this comparison. Both
Launcher sessions completed automatic rollback to `RolledBack`.
@@ -24,9 +24,13 @@ model drawing. No geometry-only result is upgraded to `Resolved`.
with stable reason codes. `Resolved` membership can progress only through the with stable reason codes. `Resolved` membership can progress only through the
existing annotation rules; this DryRun slice never writes an annotation. existing annotation rules; this DryRun slice never writes an annotation.
## Runtime evidence still required ## Paired DryRun evidence
The API contract and build/test coverage are complete, but the exact counts of The paired local DryRun resolved five of seven source rows through the exact
resolved and outside-view objects require the next Launcher Next DryRun on the view query and classified the remaining two as `ObjectOutsideView`. Each of
local Ortho fixture. The runtime report must record the command-pair PlanIds, the three supported commands produced an identical PlanId on its repeated
summary equality, DBMOD, and automatic rollback. invocation. Both Launcher sessions reached `RolledBack`.
The paired command-window DBMOD output was not retained. It is intentionally
reported as `NOT RECORDED`; project-file SHA-256 inventories nevertheless had
zero delta for both CONTROL and DRYRUN copies.