Skip to content

Promotion: cases with their driver, promote.map, pairing choices (R3) - #97

Merged
jcombs-pointblue merged 2 commits into
masterfrom
promote-r3
Oct 26, 2026
Merged

jcombs-pointblue merged 2 commits into
masterfrom
promote-r3

Conversation

@jcombs-pointblue

Copy link
Copy Markdown
Contributor

The core half of R3 of DirXMLDevWeb's project-per-environment design. docs/promotion.md updated.

  • Cases move with their driver. When both projects have simulator cases, each case's files compare as cases/<path>, beside the tree's files, in the same buckets and record. Their driver= is read as the target names the driver. --object drivers/<name> brings that driver's cases. --cases and --source-cases name the directories; by default it's <tree>/cases, or cases/ beside a tree/ directory (Projects.casesOf).

  • promote.map prints a proposed map:

    • the pair's own lines;
    • a drivers/<source's>.name = <target's> line for each look-alike driver;
    • each source server onto the nearest-named target server, when the map names none and the servers differ.
  • promote.pair choices:

    • --propose-map writes the proposal and pairs with it.
    • --pending <path> leaves a difference pending: its source fingerprint is recorded as before-pairing.
    • --accept <path> accepts a difference as known.

    Through the API, Pairing.mapText writes a map exactly as the person wrote it, comments included.

  • API:

    • Projects carries both trees, the pair, each side's cases, and a map that isn't written yet.
    • ProjectCompare.of(Projects), ProjectCompare.proposedMap.
    • Promote.run, preview, pair(Projects, Pairing, …), and accept(Projects, Map) (several at once).
    • The old signatures stay.

Testing

  • PromoteTest +2:
    • cases compare under the target's driver name, come with drivers/AD, and are written with driver = AD;
    • pairing writes the proposed map, leaves one difference pending, accepts one as known, and refuses a pending path that doesn't differ;
    • batch accept.
  • mvn -o clean install passes, 967 tests (11 skipped). -Pidm.portable test and bin/ci-portable.sh pass.
  • Used by DirXMLDevWeb's PR for R3. In the browser on a scratch server: pairing with a case left pending and a value accepted as known; after merging, the case showed as pending and was promoted into cases/.

🤖 Generated with Claude Code

jcombs-pointblue and others added 2 commits October 26, 2026 15:22
…p, pending and known

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jcombs-pointblue
jcombs-pointblue merged commit ea9759d into master Oct 26, 2026
4 checks passed
@jcombs-pointblue
jcombs-pointblue deleted the promote-r3 branch October 26, 2026 20:35
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