From 95cec30ae6e06909e65085d1d630aa285e9679d0 Mon Sep 17 00:00:00 2001 From: Jerry Combs Date: Mon, 2 Nov 2026 17:09:30 -0600 Subject: [PATCH 1/2] Record a driver's trace size limit in the tree DirXML-TraceSizeLimit is driver configuration: import-live, Designer projects and exports record it as trace-size-limit in driver.xml. A new driver is created with it; an existing driver keeps the vault's value unless vault.deploy --trace-size-limit is given (the plan notes the difference otherwise). No restart, never drift, and a tree without a limit asks for nothing. Also driver.set --key trace-size-limit and the override key drivers/.trace-size-limit. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 18 ++++++++++ docs/commands.md | 9 ++--- docs/console-gaps.md | 3 +- docs/tree-layout.md | 5 +-- docs/vault-deploy.md | 10 +++++- .../dirxml/dev/ascode/AsCodeReader.java | 1 + .../dirxml/dev/ascode/AsCodeWriter.java | 1 + .../dirxml/dev/deploy/DeployCli.java | 5 +-- .../pointblue/dirxml/dev/deploy/Deployer.java | 12 +++++-- .../dirxml/dev/deploy/EnvironmentCompare.java | 3 +- .../dirxml/dev/deploy/ModelDiff.java | 8 ++++- .../dirxml/dev/deploy/Overrides.java | 16 ++++++--- .../com/pointblue/dirxml/dev/deploy/Plan.java | 25 ++++++++++++++ .../dirxml/dev/deploy/VaultMapping.java | 2 ++ .../pointblue/dirxml/dev/edit/ConfigOps.java | 11 +++++-- .../pointblue/dirxml/dev/edit/DriverOps.java | 1 + .../dirxml/dev/edit/OverrideOps.java | 2 +- .../pointblue/dirxml/dev/edit/Registry.java | 6 ++-- .../pointblue/dirxml/dev/model/Driver.java | 9 +++++ .../dirxml/dev/source/ExportReader.java | 7 ++++ .../dirxml/dev/source/ExportWriter.java | 5 +++ .../dirxml/dev/source/LdifReader.java | 1 + .../dirxml/dev/source/ProjectReader.java | 5 +++ .../dirxml/dev/source/ProjectWriter.java | 9 +++++ .../dev/ascode/AsCodeRoundTripTest.java | 2 ++ .../dirxml/dev/deploy/ModelDiffTest.java | 16 +++++++++ .../dirxml/dev/deploy/OverridesTest.java | 19 +++++++++++ .../pointblue/dirxml/dev/deploy/PlanTest.java | 33 +++++++++++++++++++ .../dirxml/dev/source/ExportReaderTest.java | 2 ++ .../dirxml/dev/source/LdifReaderTest.java | 2 ++ .../dirxml/dev/source/ProjectReaderTest.java | 3 ++ 31 files changed, 225 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7e9b453..d0158792 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,24 @@ and this project uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html) ## [Unreleased] +### Added + +- **A driver's trace size limit is in the tree.** `DirXML-TraceSizeLimit` is driver configuration, so + `import-live`, a Designer project and a Designer export now record it as `trace-size-limit` in + `driver.xml` (absent when the driver inherits the driver set's). A new driver is created with it. An + existing driver keeps the vault's value unless `vault.deploy --trace-size-limit` is given; without the + flag the plan notes the difference. The change never restarts a driver, because the engine reads trace + settings live, and it never counts as drift. A tree that doesn't record a limit asks for nothing, so + older trees diff as before. Also: `driver.set --key trace-size-limit`, the override key + `drivers/.trace-size-limit`, and `vault.compare-envs` values. The trace level and file stay + operational (`driver.trace`). + +### Changed + +- A deploy whose plan is empty but whose diff isn't (a difference the plan leaves alone and notes) now + ends with "nothing to deploy — the plan leaves the differences above as the notes say" instead of + claiming the vault matches the tree. + ## [0.63.0] - 2026-11-02 ### Fixed diff --git a/docs/commands.md b/docs/commands.md index 788c8f78..14a3686c 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -623,7 +623,7 @@ Deploys the tree to a vault in this order: validate, diff, plan, snapshot, write ``` bin/idm vault.deploy --env [--driver …] --dry-run|--yes|--step [--confirm ] [--no-restart] [--secrets none|missing|all] [--allow-missing-secrets] - [--capture-drift] [--capture-only] [--base-branch ] + [--capture-drift] [--capture-only] [--base-branch ] [--trace-size-limit] [--driver-server =…] [--delete-driver …] [--delete-all …] [--json] ``` @@ -642,6 +642,7 @@ bin/idm vault.deploy --env [--driver …] --dry-run|--yes|-- | `--capture-drift` | no | when a `prd` vault differs from the last deploy on record, record its state as a commit on an `as-found//