Skip to content

feat(forge): add sharding runtime harness#19

Merged
fronzec merged 1 commit into
mainfrom
feat/spring-sharding-runtime
Jul 19, 2026
Merged

feat(forge): add sharding runtime harness#19
fronzec merged 1 commit into
mainfrom
feat/spring-sharding-runtime

Conversation

@fronzec

@fronzec fronzec commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Closes #16

Summary

  • Add a self-contained two-shard MySQL development runtime through podman-compose.
  • Add safe environment placeholders, Taskfile lifecycle commands, and parity-focused HTTP requests.
  • Expand the experiment record with setup, routing proof, tradeoffs, limitations, and verification evidence.

Changes

Area Change
database-sharding/order-service/java-spring-shardingsphere/ Add Compose, environment example, Taskfile, requests, and complete experiment documentation.
README.md Add the sharding experiment to the Forge catalog.

Test Plan

  • Parsed Maven XML and all four YAML files.
  • Re-ran ./mvnw test: 4 tests passed.
  • Re-ran ./mvnw clean; no build output remains.
  • Verified both stack ranges with git diff --check.
  • Run container and physical routing proof; Podman 5.8.2 cannot connect to its stopped local machine and the limitation is documented.

Chain Context

Field Value
Chain Spring sharded order migration
Tracker PR Not needed
Position 2 of 2
Base feat/spring-sharding-migration
Depends on #18
Follow-up None
Review budget 248 / 400 changed lines
Starts at The buildable sharded-order core from #18
Ends with A self-contained documented local sharding experiment

Chain Overview

main
 └── #18 Sharded order core
      └── 📍 #19 Runtime harness and documentation

Scope

  • Includes: runtime harness, safe local configuration, requests, complete docs, and catalog entry.
  • Excludes: framework upgrades, automated container orchestration scripts, source WIP, merge, and archival.

Autonomy

  • CI is expected to pass for this PR branch.
  • This PR has one deliverable scope.
  • This PR can be rolled back without removing the application core.
  • Documentation records executed and skipped verification honestly.

Contributor Checklist

fronzec commented Jul 19, 2026

Copy link
Copy Markdown
Owner Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@fronzec fronzec mentioned this pull request Jul 19, 2026
12 tasks
@fronzec fronzec added the type:feature New feature label Jul 19, 2026
@fronzec
fronzec force-pushed the feat/spring-sharding-runtime branch from 0eb2b02 to f541ec6 Compare July 19, 2026 02:00
@fronzec
fronzec force-pushed the feat/spring-sharding-migration branch from 6465216 to 17b08f1 Compare July 19, 2026 02:00
@fronzec
fronzec changed the base branch from feat/spring-sharding-migration to graphite-base/19 July 19, 2026 02:01
fronzec added a commit that referenced this pull request Jul 19, 2026
Closes #17

## Summary

- Migrate the synchronized Spring and ShardingSphere order-service core into Forge.
- Preserve the historical API, package identity, framework versions, and parity sharding rule.
- Replace machine-bound datasource values with documented environment placeholders and add four infrastructure-independent tests.

## Changes

| Area | Change |
| --- | --- |
| `database-sharding/order-service/java-spring-shardingsphere/` | Add Maven metadata, application source, ShardingSphere configuration, tests, and a minimal migration record. |

## Review Budget

This PR has 399 semantic lines plus 427 lines of unchanged generated Maven wrapper tooling. The wrapper is reported separately because splitting its scripts from the application would not improve reviewability or rollback.

## Test Plan

- [x] Source `main` synchronized at `c72d2e7`; existing WIP remains in source `stash@{0}`.
- [x] `./mvnw test` passed 4 tests with no failures, errors, or skips.
- [x] `./mvnw clean` removed build output.
- [x] `xmllint --noout pom.xml`, YAML syntax parsing, and `git diff --check` passed.

## Chain Context

| Field | Value |
| --- | --- |
| Chain | Spring sharded order migration |
| Tracker PR | Not needed |
| Position | 1 of 2 |
| Base | `main` |
| Depends on | None |
| Follow-up | #19 |
| Review budget | 399 semantic + 427 generated wrapper lines |
| Starts at | Synchronized source commit `c72d2e7` |
| Ends with | Buildable sharded-order application core and tests |

### Chain Overview

```text
main
 └── 📍 #18 Sharded order core
      └── #19 Runtime harness and documentation
```

### Scope

- Includes: application, sharding configuration, Maven wrapper, focused tests, and minimal status documentation.
- Excludes: local containers, lifecycle commands, requests, full runtime documentation, source WIP, merge, and archival.

### Autonomy

- [x] CI is expected to pass for this PR branch.
- [x] This PR has one deliverable scope.
- [x] This PR can be rolled back without unrelated experiments.
- [x] Tests are included with the application behavior.

## Contributor Checklist

- [x] Linked approved issue #17.
- [x] Used conventional commit format.
- [x] Added no real credentials or generated build output.
- [x] Added no AI attribution or co-author trailers.
@fronzec
fronzec force-pushed the feat/spring-sharding-runtime branch from f541ec6 to 87c2ee2 Compare July 19, 2026 02:01
@graphite-app
graphite-app Bot changed the base branch from graphite-base/19 to main July 19, 2026 02:02
@fronzec
fronzec force-pushed the feat/spring-sharding-runtime branch from 87c2ee2 to 118bebe Compare July 19, 2026 02:02

fronzec commented Jul 19, 2026

Copy link
Copy Markdown
Owner Author

Merge activity

  • Jul 19, 2:03 AM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Jul 19, 2:03 AM UTC: @fronzec merged this pull request with Graphite.

@fronzec
fronzec merged commit 2a93a83 into main Jul 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(forge): add sharding runtime harness

1 participant