Skip to content

Record a driver's trace size limit; new drivers start with their trace settings - #123

Merged
jcombs-pointblue merged 2 commits into
masterfrom
driver-trace-size-limit
Nov 3, 2026
Merged

jcombs-pointblue merged 2 commits into
masterfrom
driver-trace-size-limit

Conversation

@jcombs-pointblue

Copy link
Copy Markdown
Contributor

A driver's trace size limit (`DirXML-TraceSizeLimit`) is driver configuration, so the tree now records it.

What changes

  • `import-live`, a Designer project and a Designer export read it into `driver.xml` as `trace-size-limit`. It is absent when the driver inherits the driver set's (Designer's `inherit="true"` / `IdmParameter:InheritTraceSize`). Writing a Designer project or export carries it back.
  • New driver: created with the tree's limit.
  • Existing driver: the vault keeps its own value unless `vault.deploy --trace-size-limit` is given. Without the flag, the plan notes the difference and the run ends "nothing to deploy — the plan leaves the differences above as the notes say".
  • No restart: the engine reads trace settings live.
  • Never drift: the production known-state check and capture ignore it.
  • Older trees: a tree that doesn't record a limit asks for nothing, so they diff as before.
  • Editing and overrides: `driver.set --key trace-size-limit` (whole numbers only; `--clear` stops recording it), the override key `drivers/.trace-size-limit`, and `vault.compare-envs` values.
  • Trace level and file: these stay operational (`driver.trace`). The decision is recorded in vault-deploy.md, Decisions 6.

Checked

  • Full suite: 1048 tests, 0 failures. New tests cover plan (new / existing / flag / no restart), diff, overrides, round trip, and the LDIF, export and project readers.
  • On edir3, with nothing written:
    • `import-live` records each driver's limit (the AD driver: 200000).
    • The current `tree-edir3`, which records no limits, still diffs clean.
    • In a scratch copy with the AD limit set to 100000, `vault.diff` shows `~ trace-size-limit: 200000 -> 100000`.
    • The dry-run without the flag plans 0 steps and notes the difference.
    • The dry-run with `--trace-size-limit` plans one `modify DirXML-TraceSizeLimit = 100000 (was 200000)` and 0 restarts.

🤖 Generated with Claude Code

jcombs-pointblue and others added 2 commits November 2, 2026 17:09
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/<d>.trace-size-limit.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
A deploy that creates a driver writes the DirXML-TraceLevel and DirXML-TraceFile
the tree recorded; on an existing driver they stay operational. Designer projects
and exports read and write the driver's own trace level and file.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@jcombs-pointblue jcombs-pointblue changed the title Record a driver's trace size limit in the tree Record a driver's trace size limit; new drivers start with their trace settings Nov 3, 2026
@jcombs-pointblue
jcombs-pointblue merged commit 05324a5 into master Nov 3, 2026
4 checks passed
@jcombs-pointblue
jcombs-pointblue deleted the driver-trace-size-limit branch November 3, 2026 00:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant