Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
060f1c9ac1 |
@@ -0,0 +1,35 @@
|
||||
# Capability ledger
|
||||
|
||||
This directory is the versioned, machine-readable register that prevents active
|
||||
2019 capabilities from silently disappearing during the Autodesk 2026 migration.
|
||||
It is product-neutral by schema: Plant 3D, Revit and Navisworks records use the
|
||||
same required fields, while product adapters remain outside the ledger.
|
||||
|
||||
Current coverage is deliberately narrow: active, non-archive `P_Rec_Annot`
|
||||
Plant 3D command registrations. The generated ledger does not claim to be a
|
||||
complete inventory of the 2019 ecosystem. Launcher, profiles, palettes,
|
||||
resources, Revit and Navisworks must be added as independently audited slices.
|
||||
|
||||
## Working journal — 2026-08-05
|
||||
|
||||
1. This work makes a real 2019 capability visible, owned and decidable rather
|
||||
than treating the first migrated command as the programme boundary.
|
||||
2. It closes the risk that active P_Rec_Annot commands disappear unnoticed.
|
||||
3. The schema is reusable for Revit and Navisworks because it describes a
|
||||
capability and its evidence, not a Plant API.
|
||||
4. No Launcher or product domain logic is introduced.
|
||||
5. The scope statement and source pointer make missing coverage explicit.
|
||||
6. Equivalence is proven only by the record's verification method and runtime
|
||||
evidence; `NOT REPORTED` remains explicit.
|
||||
7. Users gain an accountable migration path for every currently-audited active
|
||||
P_Rec_Annot command, including the already verified reference vertical.
|
||||
|
||||
## Regeneration and validation
|
||||
|
||||
```powershell
|
||||
pwsh migration/tools/Build-CapabilityLedger.ps1
|
||||
pwsh migration/tools/Test-CapabilityLedger.ps1
|
||||
```
|
||||
|
||||
The builder consumes audited source records only, excludes `_archive`, writes
|
||||
stable IDs, and retains unknowns instead of manufacturing a target decision.
|
||||
@@ -0,0 +1,607 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"scope": "Plant 3D P_Rec_Annot active command slice generated from audited non-archive command registrations. This is a ledger foundation, not a claim of complete ecosystem inventory.",
|
||||
"source": "migration/audits/p-rec-annot-v1.0.4/evidence/commands.csv",
|
||||
"capabilities": [
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-BJ",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "PHPAnnotations\\PHPBlockJig.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: BJ",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-CAC",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "PHPAnnotations\\PHPAnnotations.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: CAC",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-CAC1",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "P3DNewMa\\NewMaControl.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: CAC1",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-CREATEANNOTATIONCOMMAND",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "PHPAnnotations\\PHPAnnotations.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: CreateAnnotationCommand",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-MTO-MA",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "P3DNewMa\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: mto-ma",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-MTO-MA1",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "P3DNewMa\\NewMaControl.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: mto-ma1",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-AAV",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "AutoAnnotateView\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-AAV",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "PRecAnnot.Plant3D2026",
|
||||
"owner": "Plant annotation domain owner",
|
||||
"migrationStatus": "RUNTIME_VERIFIED",
|
||||
"verificationMethod": "Controlled Plant 3D 2026 Preview/Apply/repeated Apply/UNDO runtime acceptance",
|
||||
"runtimeEvidence": "Accepted runtime session 7402fee6290b44438642f9204e8bdb6c; automation journal 0cf74ff1c90d4c69a10417904638c7b6",
|
||||
"knownDifferences": "2026 implementation uses local immutable package staging and managed entry assembly; legacy loading mechanics are not retained.",
|
||||
"decision": "MIGRATED_RUNTIME_VERIFIED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-AC",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "SwapAttributesMenuItem\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-AC",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-AE",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "AutoElevation\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-AE",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-ALC",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "AutoLinenumberConnections\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-ALC",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-COV",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "CheckOrthoView\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-COV",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-DJ",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "OrthoAutoAnnotate\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-DJ",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-ELN",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "AnnotateLineNumbers\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-ELN",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-ESN",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "AnnotateLineNumbers\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-ESN",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-GIT",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "ExtentsIntersect\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-GIT",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-IE",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "InsertElevation\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-IE",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-IOD",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "UpdateOrthoDrawings\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-IOD",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-LN",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "AnnotateLineNumbers\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-LN",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-MA",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "PHPAnnotations\\PHPAnnotations.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-MA",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-OA",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "OrthoAutoAnnotate\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-OA",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "PRecAnnot.Plant3D2026",
|
||||
"owner": "Plant annotation domain owner",
|
||||
"migrationStatus": "RUNTIME_VERIFIED",
|
||||
"verificationMethod": "Controlled Plant 3D 2026 Preview/Apply/repeated Apply/UNDO runtime acceptance",
|
||||
"runtimeEvidence": "Accepted runtime session 7402fee6290b44438642f9204e8bdb6c; automation journal 0cf74ff1c90d4c69a10417904638c7b6",
|
||||
"knownDifferences": "2026 implementation uses local immutable package staging and managed entry assembly; legacy loading mechanics are not retained.",
|
||||
"decision": "MIGRATED_RUNTIME_VERIFIED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-OSI",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "OrthoAutoAnnotate\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-OSI",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-RA",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "OrthoAutoAnnotate\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-RA",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-RMP",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "AnnotateLineNumbers\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-RMP",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-ULN",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "AnnotateLineNumbers\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-ULN",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
},
|
||||
{
|
||||
"id": "PLANT3D-2019-CMD-PXP-UOB",
|
||||
"sourceProduct": "Autodesk Plant 3D 2019",
|
||||
"sourceComponent": "UpdateOrthoViewBlocks\\Commands.cs",
|
||||
"userPurpose": "Registered AutoCAD command; command body and workflow require source-specific acceptance.",
|
||||
"launchMethod": "AutoCAD command: PXP-UOB",
|
||||
"dependencies": [
|
||||
"Plant 3D drawing",
|
||||
"P_Rec_Annot legacy module"
|
||||
],
|
||||
"resources": [
|
||||
"Project configuration",
|
||||
"Drawing and annotation resources"
|
||||
],
|
||||
"projectConstraints": "Plant project: verify body; reads drawing: yes; writes drawing: unknown",
|
||||
"legacyStatus": "ACTIVE_LEGACY",
|
||||
"targetComponent": "UNASSIGNED",
|
||||
"owner": "UNASSIGNED",
|
||||
"migrationStatus": "MIGRATION_PLANNED",
|
||||
"verificationMethod": "Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance",
|
||||
"runtimeEvidence": "NOT REPORTED",
|
||||
"knownDifferences": "NOT ASSESSED",
|
||||
"decision": "MIGRATION_REQUIRED"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"title": "Autodesk 2019 to 2026 capability ledger",
|
||||
"type": "object",
|
||||
"required": ["schemaVersion", "scope", "capabilities"],
|
||||
"properties": {
|
||||
"schemaVersion": { "const": 1 },
|
||||
"scope": { "type": "string", "minLength": 1 },
|
||||
"capabilities": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["id", "sourceProduct", "sourceComponent", "userPurpose", "launchMethod", "dependencies", "resources", "projectConstraints", "legacyStatus", "targetComponent", "owner", "migrationStatus", "verificationMethod", "runtimeEvidence", "knownDifferences", "decision"],
|
||||
"properties": {
|
||||
"id": { "type": "string", "pattern": "^[A-Z0-9-]+$" },
|
||||
"sourceProduct": { "type": "string" },
|
||||
"sourceComponent": { "type": "string" },
|
||||
"userPurpose": { "type": "string" },
|
||||
"launchMethod": { "type": "string" },
|
||||
"dependencies": { "type": "array", "items": { "type": "string" } },
|
||||
"resources": { "type": "array", "items": { "type": "string" } },
|
||||
"projectConstraints": { "type": "string" },
|
||||
"legacyStatus": { "type": "string" },
|
||||
"targetComponent": { "type": "string" },
|
||||
"owner": { "type": "string" },
|
||||
"migrationStatus": { "type": "string" },
|
||||
"verificationMethod": { "type": "string" },
|
||||
"runtimeEvidence": { "type": "string" },
|
||||
"knownDifferences": { "type": "string" },
|
||||
"decision": { "type": "string" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory = $false)]
|
||||
[string]$RepositoryRoot,
|
||||
[Parameter(Mandatory = $false)]
|
||||
[string]$OutputPath
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
if (-not $RepositoryRoot) { $RepositoryRoot = Split-Path -Parent $PSScriptRoot }
|
||||
$RepositoryRoot = [IO.Path]::GetFullPath($RepositoryRoot)
|
||||
$commandsPath = Join-Path $RepositoryRoot 'audits\p-rec-annot-v1.0.4\evidence\commands.csv'
|
||||
if (-not (Test-Path -LiteralPath $commandsPath -PathType Leaf)) { throw "CAPABILITY_LEDGER_COMMAND_SOURCE_MISSING: $commandsPath" }
|
||||
if (-not $OutputPath) { $OutputPath = Join-Path $RepositoryRoot 'capability-ledger\plant3d-p-rec-annot-commands.json' }
|
||||
$OutputPath = [IO.Path]::GetFullPath($OutputPath)
|
||||
|
||||
$accepted = @{
|
||||
'PXP-AAV' = @{ Component = 'PRecAnnot.Plant3D2026'; Evidence = 'Accepted runtime session 7402fee6290b44438642f9204e8bdb6c; automation journal 0cf74ff1c90d4c69a10417904638c7b6'; Decision = 'MIGRATED_RUNTIME_VERIFIED' }
|
||||
'PXP-OA' = @{ Component = 'PRecAnnot.Plant3D2026'; Evidence = 'Accepted runtime session 7402fee6290b44438642f9204e8bdb6c; automation journal 0cf74ff1c90d4c69a10417904638c7b6'; Decision = 'MIGRATED_RUNTIME_VERIFIED' }
|
||||
}
|
||||
|
||||
$commands = Import-Csv -LiteralPath $commandsPath | Where-Object { $_.File -notmatch '(^|\\)_archive(\\|$)' } |
|
||||
Group-Object Command | ForEach-Object { $_.Group | Select-Object -First 1 } | Sort-Object Command
|
||||
|
||||
$capabilities = foreach ($command in $commands) {
|
||||
$acceptedRecord = $accepted[$command.Command]
|
||||
$status = if ($acceptedRecord) { 'RUNTIME_VERIFIED' } else { 'MIGRATION_PLANNED' }
|
||||
[ordered]@{
|
||||
id = ('PLANT3D-2019-CMD-' + ($command.Command.ToUpperInvariant() -replace '[^A-Z0-9]+', '-').Trim('-'))
|
||||
sourceProduct = 'Autodesk Plant 3D 2019'
|
||||
sourceComponent = $command.File
|
||||
userPurpose = 'Registered AutoCAD command; command body and workflow require source-specific acceptance.'
|
||||
launchMethod = ('AutoCAD command: ' + $command.Command)
|
||||
dependencies = @('Plant 3D drawing', 'P_Rec_Annot legacy module')
|
||||
resources = @('Project configuration', 'Drawing and annotation resources')
|
||||
projectConstraints = ('Plant project: ' + $command.PlantProject + '; reads drawing: ' + $command.ReadsDrawing + '; writes drawing: ' + $command.WritesDrawing)
|
||||
legacyStatus = 'ACTIVE_LEGACY'
|
||||
targetComponent = if ($acceptedRecord) { $acceptedRecord.Component } else { 'UNASSIGNED' }
|
||||
owner = if ($acceptedRecord) { 'Plant annotation domain owner' } else { 'UNASSIGNED' }
|
||||
migrationStatus = $status
|
||||
verificationMethod = if ($acceptedRecord) { 'Controlled Plant 3D 2026 Preview/Apply/repeated Apply/UNDO runtime acceptance' } else { 'Legacy source audit, contract, deterministic Preview, controlled Apply, idempotency, UNDO and visual acceptance' }
|
||||
runtimeEvidence = if ($acceptedRecord) { $acceptedRecord.Evidence } else { 'NOT REPORTED' }
|
||||
knownDifferences = if ($acceptedRecord) { '2026 implementation uses local immutable package staging and managed entry assembly; legacy loading mechanics are not retained.' } else { 'NOT ASSESSED' }
|
||||
decision = if ($acceptedRecord) { $acceptedRecord.Decision } else { 'MIGRATION_REQUIRED' }
|
||||
}
|
||||
}
|
||||
|
||||
$ledger = [ordered]@{
|
||||
schemaVersion = 1
|
||||
scope = 'Plant 3D P_Rec_Annot active command slice generated from audited non-archive command registrations. This is a ledger foundation, not a claim of complete ecosystem inventory.'
|
||||
source = 'migration/audits/p-rec-annot-v1.0.4/evidence/commands.csv'
|
||||
capabilities = @($capabilities)
|
||||
}
|
||||
|
||||
$parent = Split-Path -Parent $OutputPath
|
||||
New-Item -ItemType Directory -Path $parent -Force | Out-Null
|
||||
$temporary = Join-Path $parent ((Split-Path -Leaf $OutputPath) + '.tmp')
|
||||
$json = $ledger | ConvertTo-Json -Depth 8
|
||||
[IO.File]::WriteAllText($temporary, $json + [Environment]::NewLine, [Text.UTF8Encoding]::new($false))
|
||||
Move-Item -LiteralPath $temporary -Destination $OutputPath -Force
|
||||
Write-Output "CAPABILITY_LEDGER_WRITTEN=$OutputPath"
|
||||
Write-Output "CAPABILITY_COUNT=$($capabilities.Count)"
|
||||
@@ -0,0 +1,23 @@
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory = $false)]
|
||||
[string]$RepositoryRoot
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
if (-not $RepositoryRoot) { $RepositoryRoot = Split-Path -Parent $PSScriptRoot }
|
||||
$RepositoryRoot = [IO.Path]::GetFullPath($RepositoryRoot)
|
||||
$ledgerPath = Join-Path $RepositoryRoot 'capability-ledger\plant3d-p-rec-annot-commands.json'
|
||||
$sourcePath = Join-Path $RepositoryRoot 'audits\p-rec-annot-v1.0.4\evidence\commands.csv'
|
||||
& (Join-Path $PSScriptRoot 'Build-CapabilityLedger.ps1') -RepositoryRoot $RepositoryRoot -OutputPath $ledgerPath | Out-Null
|
||||
$ledger = Get-Content -LiteralPath $ledgerPath -Raw -Encoding utf8 | ConvertFrom-Json
|
||||
$required = 'id','sourceProduct','sourceComponent','userPurpose','launchMethod','dependencies','resources','projectConstraints','legacyStatus','targetComponent','owner','migrationStatus','verificationMethod','runtimeEvidence','knownDifferences','decision'
|
||||
$expected = (Import-Csv -LiteralPath $sourcePath | Where-Object { $_.File -notmatch '(^|\\)_archive(\\|$)' } | Select-Object -ExpandProperty Command -Unique).Count
|
||||
if ($ledger.schemaVersion -ne 1) { throw 'CAPABILITY_LEDGER_SCHEMA_VERSION_INVALID' }
|
||||
if ($ledger.capabilities.Count -ne $expected) { throw "CAPABILITY_LEDGER_COUNT_MISMATCH: expected $expected, got $($ledger.capabilities.Count)" }
|
||||
if (($ledger.capabilities.id | Select-Object -Unique).Count -ne $ledger.capabilities.Count) { throw 'CAPABILITY_LEDGER_DUPLICATE_ID' }
|
||||
foreach ($capability in $ledger.capabilities) { foreach ($field in $required) { if (-not $capability.PSObject.Properties.Name.Contains($field)) { throw "CAPABILITY_LEDGER_REQUIRED_FIELD_MISSING: $($capability.id):$field" } } }
|
||||
$accepted = @($ledger.capabilities | Where-Object { $_.decision -eq 'MIGRATED_RUNTIME_VERIFIED' })
|
||||
if ($accepted.Count -ne 2 -or ($accepted.id -notcontains 'PLANT3D-2019-CMD-PXP-AAV') -or ($accepted.id -notcontains 'PLANT3D-2019-CMD-PXP-OA')) { throw 'CAPABILITY_LEDGER_REFERENCE_VERTICAL_MISSING' }
|
||||
Write-Output "CAPABILITY_LEDGER_VALIDATED=$ledgerPath"
|
||||
Write-Output "CAPABILITY_COUNT=$($ledger.capabilities.Count)"
|
||||
Reference in New Issue
Block a user