Skip to content

Feat/rh forge UI target - #8

Merged
ederign merged 2 commits into
mainfrom
feat/rh-forge-ui-target
Aug 28, 2026
Merged

Feat/rh forge UI target#8
ederign merged 2 commits into
mainfrom
feat/rh-forge-ui-target

Conversation

@ederign

@ederign ederign commented Aug 28, 2026

Copy link
Copy Markdown
Owner

No description provided.

ederign and others added 2 commits August 28, 2026 10:12
RHAI-760 and RHAI-761 matched no keyword in config/repo_mapping.json, so
resolve_target_repo() returned "" and both epics would have been skipped
silently — the failure mode 91692dc already cost us once.

The right target, rh-forge/rh-forge-ui, is private. The shared bot cannot
reach it and cannot be given a seat. Swapping --fork-owner globally would
work, but it would also put a person's name on every other strategy's PRs,
which is what ADR-0030 exists to prevent. So identity is resolved per target
repo instead: a mapping entry may carry fork_owner and gh_token_var, and
identity_for_repo() is the single resolver behind all eight GitHub call
sites. our_user follows fork_owner, or the review loop reads the author's
own comments as feedback and answers itself forever. The mapping holds the
variable *name*; the credential is read from the environment at the point of
use.

ederign/openc-ui-by-agentic-sdlc is retired rather than repointed — same
product lineage (its package.json name is literally forge-ui), strategy
Closed, and its keywords carry forward to the live repo.

Cloning the target then exposed a gate that was lying. rh-forge-ui is pnpm
with engine-strict=true and Node ^24.15.0 || >=26; the CI image was Node 22
with no pnpm, and preflight still reported ok: true, because it recognised
yarn.lock and nothing else. _discover_js_commands had the matching gap,
hardcoding `npm run lint` regardless of what the repo declared. Together
that is exactly the environment-fault-scored-as-bad-code ADR-0025 was
written for. detect_package_manager() is now the single answer, preflight
gates on it, and Dockerfile.ci moves to Node 26 with pnpm via corepack —
`corepack enable pnpm`, not a bare `corepack enable`, which would shadow the
yarn odh-dashboard needs.

Also commits the work ledger itself (AGENTS.md, docs/, check_ledger.py),
which was sitting uncommitted in the tree; ADR-0035 and this change's task
and bug entries live inside it, so they could not land separately.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The fix landed in cf130f7; the ledger requires a fixed bug to cite what
closed it, which is not knowable until the commit exists.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@ederign
ederign merged commit 43de4e3 into main Aug 28, 2026
2 checks passed
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