unic / unic/unic-agents-plugins
No Box can target a base branch that is not the trunk, so run 4 cannot merge to integration/dlc
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1
- Forks
- 0
- Avg merge
- 16h 43m
- Merged PRs (30d)
- 19
Description
Question
Run 4 merges to a long-lived integration/dlc branch, by the two-act delivery decided while charting
#498. No Box can target it. What changes so
that it can, and does the rule stay stated three times?
Observed, 2026-09-17 22:55 CEST on develop at fd9739e
Three Boxes each derive the base branch from project.branching, and no config value overrides it.
| File | Line | What it does |
|---|---|---|
unic-dlc-build.yaml |
:47 |
bootstrap computes expected_base: develop when branching == gitflow, else main |
unic-dlc-build.yaml |
:800 |
open-pr targets $bootstrap.output.expected_base |
unic-dlc-qa.yaml |
:45 |
the same rule, written again |
unic-dlc-qa.yaml |
:427 |
verify-pr-base sets base_ok to "false" on a mismatch |
unic-dlc-qa.yaml |
:448, :472 |
merge-gate and merge fail closed on base_ok != 'true' |
unic-dlc-pr-review.yaml |
:48 |
the same rule, a third time |
unic-dlc-pr-review.yaml |
:185 |
BASE_REF = git merge-base origin/$bootstrap.output.expected_base HEAD — the review's diff |
project.branching accepts gitflow | github-flow only (README.md:172, commands/setup.md:272), and
the Consumer's config says gitflow. Both values resolve to develop or main. There is no third
answer.
git -C ~/Sites/FZAG/DXP-DesignSystem ls-remote --heads origin | grep -i integration returns nothing:
the branch does not exist either.
So act 1 fails at its first step, not its last. /build's open-pr would open the pull request
against develop; /qa would then refuse to merge a pull request whose base is not develop, which is
the fail-closed behaviour working correctly against a target nobody can express.
The review Box is the one that fails quietly. Its :185 computes the review's diff from
expected_base. While integration/dlc has not diverged from develop the merge-base is the same
commit, so the bench reads correctly today and starts reading the wrong diff the moment develop moves.
Nothing reports it.
Why it is its own ticket
It touches unic-dlc-build.yaml, which #439
also edits. #439 is nineteen criteria about a different change, and folding a base-branch key into it
would hide this one inside the largest ticket on the map. The ticket that lands second rebases onto the
first — decide the order when the second is grilled, and say so in its criteria.
Not decided, and the second one is the interesting question
- Whether the fix is a config key or a single source. A key both
bootstrapnodes read is the
obvious answer and it is also a fourth surface stating the same rule. The rule "develop when
gitflow, else main" is written out three times in three YAML files today; that is the shape this map
exists to fix, and adding a key without collapsing the three leaves the drift in place. Collapsing them
is a larger change than run 4 needs. Decide it explicitly rather than by default. - Whether
github-flowshould have been the answer all along, withmainreplaced by a named base.
The enum encodes a branching model and then uses it to answer a different question: what this run
targets. Those are the same thing only while every run targets the trunk. - Who creates
integration/dlc, and from which commit. #502
owns creating it today; if this ticket adds abootstrapstep that creates a missing base, that moves.
Surfaces that change with it
unic-dlc-build.yaml:47,:800;unic-dlc-qa.yaml:45,:427;unic-dlc-pr-review.yaml:48,:185.README.md:172andcommands/setup.md:272— the config table and Step 6.docs/boxes/unic-dlc-build.md:74, which hard-codes "basedevelop". That line is a claim about
what the Box does that does not derive from the Box, so it is also a row for
#499's list, found while measuring this.- An ADR. The plugin's convention since #452 is
inline revision withAccepted (YYYY-MM-DD, revised YYYY-MM-DD)and no amendment block
(apps/claude-code/unic-archon-dlc/docs/adr/README.md:18).
Measured by
unic-sdlc-orchestrator-1, 2026-09-17 22:55 CEST, reported on
#498. The third Box
(unic-dlc-pr-review) and the docs/boxes hard-coded line were found confirming that report in this
map's charting session.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the bootstrap and PR-base logic at the cited lines in unic-dlc-build.yaml, unic-dlc-qa.yaml, and unic-dlc-pr-review.yaml, then read the configuration entries in README.md and commands/setup.md. Check the build documentation and ADR convention, and use the listed git ls-remote command plus /build and /qa to trace the current behavior. Done means the chosen design can express the intended base branch, keeps build, QA, and review consistent, and updates the documented rule and criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, github, yaml
- Domain
- build-system, devops, documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100