IW-672: Add IssueId.numericPart instead of repeated split("-").last #735

Merged
mph merged 20 commits from IW-672 into main 2026-10-08 06:23:26 +00:00
Member

Summary

Adds IssueId.numericPart as the single owner of the rule that turns an issue ID (IW-672) into its number (672). It replaces the repeated issueId.value.split("-").last in the GitHub, GitLab and Forgejo adapters and in the dashboard IssueSource.

Changes

  • core/model/IssueId.scala: new numericPart.
  • Adapters have explicit contracts: GitHub takes the bare issue number, GitLab takes an IssueId; ForgejoClient.issueNumberOf uses numericPart.
  • CommandEnv / LiveCommandEnv / FakeCommandEnv and Issue.scala call sites follow the adapter contracts.
  • dashboard/jvm/src/domain/IssueSource.scala builds the issue link with numericPart.

No user-visible behavior change.

Testing

  • IssueIdTest covers numericPart; adapter tests (GitHub, GitLab, Forgejo) and IssueHarnessTest updated to the new contracts.
  • Phase PR #732 passed CI.

Follow-ups

Filed: #733, #734; added evidence to #586.

Release notes

Internal refactor with no user-visible change: the issue number is now derived from the issue ID in one place, used by issue fetch on GitHub, GitLab and Forgejo and by dashboard issue links. (Czech notes: project-management/issues/IW-672/release-notes.md.)

🤖 Generated with Claude Code

Closes #672

## Summary Adds `IssueId.numericPart` as the single owner of the rule that turns an issue ID (`IW-672`) into its number (`672`). It replaces the repeated `issueId.value.split("-").last` in the GitHub, GitLab and Forgejo adapters and in the dashboard `IssueSource`. ## Changes - `core/model/IssueId.scala`: new `numericPart`. - Adapters have explicit contracts: GitHub takes the bare issue number, GitLab takes an `IssueId`; `ForgejoClient.issueNumberOf` uses `numericPart`. - `CommandEnv` / `LiveCommandEnv` / `FakeCommandEnv` and `Issue.scala` call sites follow the adapter contracts. - `dashboard/jvm/src/domain/IssueSource.scala` builds the issue link with `numericPart`. No user-visible behavior change. ## Testing - `IssueIdTest` covers `numericPart`; adapter tests (GitHub, GitLab, Forgejo) and `IssueHarnessTest` updated to the new contracts. - Phase PR #732 passed CI. ## Follow-ups Filed: #733, #734; added evidence to #586. ## Release notes Internal refactor with no user-visible change: the issue number is now derived from the issue ID in one place, used by issue fetch on GitHub, GitLab and Forgejo and by dashboard issue links. (Czech notes: `project-management/issues/IW-672/release-notes.md`.) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Closes #672
Add IssueId.numericPart instead of repeated split("-").last

Artifacts:
- analysis.md
- issue.md

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ZD5foFWAE2zV1xYojPMa
Add IssueId.numericPart instead of repeated split("-").last

Artifacts:
- tasks.md
- review-state.json (tasks_ready)

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ZD5foFWAE2zV1xYojPMa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ZD5foFWAE2zV1xYojPMa
Issue: IW-672
Phase: 1 - IssueId.numericPart + adapter contracts

This commit marks the checkpoint for phase 1 context generation.
Use wf-implement IW-672 to return to this point.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
IssueId.numericPart + adapter contracts

Artifacts:
- phase-01-tasks.md

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs(IW-672): review packet, release notes; file follow-ups
All checks were successful
CI / changes (pull_request) Successful in 5s
CI / contract (pull_request) Has been skipped
CI / format (pull_request) Successful in 11s
CI / lint (pull_request) Successful in 13s
CI / compile (pull_request) Successful in 1m43s
CI / dashboard-build (pull_request) Successful in 1m27s
CI / test (pull_request) Successful in 18m18s
cf061a97d8
Follow-ups filed: #733 (dashboard issue-number parser), #734 (Small fixes: core),
comment on #586 (phase-pr push output in card message).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mph requested changes 2026-10-07 07:33:39 +00:00
mph left a comment

There are conflicts after merging other branches.

There are conflicts after merging other branches.
docs(IW-672): rework for final PR review 18
Some checks failed
CI / changes (pull_request) Successful in 7s
CI / contract (pull_request) Has been skipped
CI / compile (pull_request) Successful in 1m39s
CI / format (pull_request) Successful in 10s
CI / lint (pull_request) Successful in 12s
CI / dashboard-build (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
ca5c147318
Issue: IW-672
Phase: 2 - Rework for final PR review 18

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
workflow(wf): Generate Phase 2 tasks for IW-672
All checks were successful
CI / changes (pull_request) Successful in 4s
CI / contract (pull_request) Has been skipped
CI / compile (pull_request) Successful in 1m35s
CI / format (pull_request) Successful in 10s
CI / lint (pull_request) Successful in 13s
CI / dashboard-build (pull_request) Successful in 1m22s
CI / test (pull_request) Successful in 18m16s
11a48676c3
Rework for final PR review 18

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Phase 2: Rework for final PR review 18 (#748)
Some checks failed
CI / changes (pull_request) Successful in 5s
CI / contract (pull_request) Has been skipped
CI / format (pull_request) Successful in 10s
CI / lint (pull_request) Successful in 13s
CI / compile (pull_request) Successful in 1m43s
CI / dashboard-build (pull_request) Successful in 1m27s
CI / test (pull_request) Has been cancelled
32334fcd5b
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Restores the ancestry that the squash merge of the phase 2 sync (#748)
dropped. The tree is identical to the parent: the sync resolution is
kept as reviewed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs(IW-672): review packet for the whole branch
All checks were successful
CI / changes (pull_request) Successful in 5s
CI / contract (pull_request) Has been skipped
CI / format (pull_request) Successful in 10s
CI / lint (pull_request) Successful in 13s
CI / compile (pull_request) Successful in 1m34s
CI / dashboard-build (pull_request) Successful in 1m25s
CI / test (pull_request) Successful in 18m25s
3d0ead03ba
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Author
Member

Implement: rework for review 18
The rework phase merged into IW-672 through #748; this pull request carries it.

Implement: rework for review 18 The rework phase merged into IW-672 through #748; this pull request carries it.
mph merged commit 72b4dca274 into main 2026-10-08 06:23:26 +00:00
Sign in to join this conversation.
No description provided.