docs: add ADR 0088 for tracker/forge harness config split - #6237
docs: add ADR 0088 for tracker/forge harness config split#6237ralphbean wants to merge 2 commits into
Conversation
Adds a tracker: harness key sibling to forge:, renaming ForgeConfig to PlatformConfig and generalizing its merge pipelines, so a code agent can read from one tracker (e.g. JIRA) while writing to an unrelated forge. Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ralph Bean <rbean@redhat.com>
PR Summary by QodoAdd ADR 0088 for tracker/forge harness config split
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
|
🤖 Finished Review · ✅ Success · Started 5:49 PM UTC · Completed 6:04 PM UTC Commit: |
Site previewPreview: https://3844b807-site.fullsend-ai.workers.dev Commit: |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Code Review by Qodo
1. docs/architecture.md missing ADR 0088
|
ReviewFindingsLow
Previous runReviewFindingsMedium
Low
Labels: PR adds an ADR about the harness config schema (tracker/forge split) |
|
Replying in reference to #6237 (comment) Addressed the architecture.md, multiple-decisions, and Consequences-bullets findings on their own threads:
On the "exceeds 100 lines" point — same reasoning as the multiple-decisions thread: I'm keeping this as one ADR since the rename, |
|
Replying in reference to #6237 (comment) Addressed the
On the label point — |
Fix Load()/LoadWithOpts function reference, add OpenShell.Profiles to the precedence-rules field list, and link ADR 0088 from architecture.md's Agent Harness "Decided:" list. Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ralph Bean <rbean@redhat.com>
|
🤖 Finished Review · ✅ Success · Started 6:22 PM UTC · Completed 6:38 PM UTC Commit: |
| This is scoped to `internal/harness`; it is unrelated to and does not touch | ||
| `internal/repos.ForgeConfig`, a separate type for admin-manifest CI paths. | ||
|
|
||
| Add a `Tracker map[string]*PlatformConfig` field to the `Harness` struct, |
There was a problem hiding this comment.
[low] scope-coherence
The ADR proposes renaming Go type ForgeConfig to PlatformConfig while the YAML key remains forge:. This introduces a naming divergence (the new tracker: YAML key would also be backed by PlatformConfig). The ADR acknowledges this as a deliberate trade-off, but worth confirming since ADR 0045 doc-comment explains why the type is currently named ForgeConfig.
Summary
tracker:as a harness key sibling toforge:, so a code agent can read from one tracker (e.g. JIRA) while writing to an unrelated forge (GitHub/GitLab).internal/harness.ForgeConfigtoPlatformConfigand generalizes both existing merge pipelines (forge.goresolution,compose.gobase:composition) to operate on eitherforge:ortracker:, rather than duplicating them.fullsend-ai/agentsadd-jira-tracker-supportOpenSpec change, which depends on this schema/runtime piece landing here first.Test plan
make lintpasses (ADR frontmatter/status/number/link linters)