Skip to content

Commit 27d6b32

Browse files
authored
Various updates (#243)
1 parent 44bd18b commit 27d6b32

File tree

2 files changed

+139
-0
lines changed

2 files changed

+139
-0
lines changed

AGENTS.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,15 @@ This repository is a PHP monorepo containing many packages under `src/`. This gu
5656
- Add or modify the most relevant page (e.g., `docs/components/*.md`, `docs/contracts/*.md`, or `docs/symfony-bundles/*.md`).
5757
- If adding a new page, ensure it’s listed in `docs/SUMMARY.md`.
5858

59+
## Roadmap
60+
61+
- The project roadmap lives in `ROADMAP.md` at the repository root.
62+
- Remove completed items from the roadmap as part of the related change.
63+
- Each roadmap entry is an epic with a name and short description.
64+
- Every epic lists the tasks required to complete it.
65+
- Each task includes its own acceptance criteria and references the Global Definition of Ready and Definition of Done.
66+
- Remove tasks once complete and delete the epic when no tasks remain.
67+
5968
## Pull Request Checklist
6069

6170
- Build passes: `make test` (optionally with coverage).

ROADMAP.md

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# Sons of PHP Roadmap
2+
3+
This roadmap outlines planned libraries and updates for the Sons of PHP monorepo. Completed items must be removed to keep the list current.
4+
5+
## Global Definition of Ready
6+
- Problem statement and goals are clearly documented.
7+
- Scope, dependencies, and related packages are identified.
8+
- Acceptance criteria and testing strategy are defined.
9+
- Stakeholders have reviewed and approved the proposal.
10+
11+
## Global Definition of Done
12+
- Implementation meets the documented acceptance criteria.
13+
- Unit and integration tests are added or updated and pass.
14+
- Documentation reflects the new or changed behavior.
15+
- `make test`, `make php-cs-fixer`, and `make psalm` pass.
16+
- The corresponding roadmap entry is removed.
17+
18+
## How to Use This Roadmap
19+
20+
- Each entry below is an **epic** with a name and short description.
21+
- Epics contain a list of tasks. Every task must:
22+
- satisfy the [Global Definition of Ready](#global-definition-of-ready) before work begins;
23+
- meet the [Global Definition of Done](#global-definition-of-done) on completion; and
24+
- define its own acceptance criteria.
25+
- Remove tasks as they are completed.
26+
- When an epic has no remaining tasks, remove the epic.
27+
28+
## Prioritized Roadmap
29+
30+
### Epic: Stabilize Core Components for 1.0 Release
31+
**Description:** Finalize public APIs, increase test coverage, and prepare documentation for a stable 1.0 release.
32+
33+
- [ ] Finalize public APIs for existing components.
34+
- **Acceptance Criteria**
35+
- All Global DoR items are satisfied before implementation begins.
36+
- Public APIs are documented and approved.
37+
- Implementation meets the Global DoD.
38+
- [ ] Increase test coverage and fix outstanding issues.
39+
- **Acceptance Criteria**
40+
- All Global DoR items are satisfied before implementation begins.
41+
- Components tagged for 1.0 reach at least 90% test coverage.
42+
- All known issues are resolved.
43+
- Implementation meets the Global DoD.
44+
- [ ] Prepare changelogs and migration guides.
45+
- **Acceptance Criteria**
46+
- All Global DoR items are satisfied before implementation begins.
47+
- Changelogs outline breaking changes and upgrade paths.
48+
- Migration guides are published.
49+
- Implementation meets the Global DoD.
50+
51+
### Epic: Update HTTP Libraries to Latest PSR Versions
52+
**Description:** Align HTTP components with the latest PSR standards and ensure client compatibility.
53+
54+
- [ ] Align `HttpMessage` and `HttpFactory` with PSR-7 v2 and PSR-17.
55+
- **Acceptance Criteria**
56+
- All Global DoR items are satisfied before implementation begins.
57+
- Components comply with PSR-7 v2 and PSR-17.
58+
- Implementation meets the Global DoD.
59+
- [ ] Ensure compatibility with PSR-18 clients.
60+
- **Acceptance Criteria**
61+
- All Global DoR items are satisfied before implementation begins.
62+
- Integration tests against a PSR-18 client pass.
63+
- Implementation meets the Global DoD.
64+
- [ ] Update documentation with examples for the updated interfaces.
65+
- **Acceptance Criteria**
66+
- All Global DoR items are satisfied before implementation begins.
67+
- Docs include examples using the updated interfaces.
68+
- Implementation meets the Global DoD.
69+
70+
### Epic: Introduce Validation Component
71+
**Description:** Provide a framework-agnostic, rule-based validation system with extensible APIs.
72+
73+
- [ ] Implement `Component/Validation` with rule definitions and error reporting.
74+
- **Acceptance Criteria**
75+
- All Global DoR items are satisfied before implementation begins.
76+
- Component exposes an extensible API for custom rules.
77+
- Implementation meets the Global DoD.
78+
- [ ] Add unit tests covering each validator and failure scenario.
79+
- **Acceptance Criteria**
80+
- All Global DoR items are satisfied before implementation begins.
81+
- Tests cover common validators and edge cases.
82+
- Implementation meets the Global DoD.
83+
- [ ] Document usage examples and customization guides.
84+
- **Acceptance Criteria**
85+
- All Global DoR items are satisfied before implementation begins.
86+
- Documentation explains basic usage and extension points.
87+
- Implementation meets the Global DoD.
88+
89+
### Epic: Add Queue Component for Background Jobs
90+
**Description:** Implement a queue abstraction with adapters and a Symfony Messenger bridge.
91+
92+
- [ ] Implement queue abstraction with in-memory and Redis adapters.
93+
- **Acceptance Criteria**
94+
- All Global DoR items are satisfied before implementation begins.
95+
- `Component/Queue` provides enqueue/dequeue interfaces and adapters.
96+
- Tests demonstrate reliable job processing and failure handling.
97+
- Implementation meets the Global DoD.
98+
- [ ] Provide Symfony Messenger bridge for interoperability.
99+
- **Acceptance Criteria**
100+
- All Global DoR items are satisfied before implementation begins.
101+
- Bridge integrates with Symfony Messenger.
102+
- Implementation meets the Global DoD.
103+
104+
### Epic: Enhance Symfony Bridges for Symfony 7
105+
**Description:** Review bridge packages for Symfony 7 compatibility and add support for new features.
106+
107+
- [ ] Review and update bridge packages for Symfony 7 compatibility.
108+
- **Acceptance Criteria**
109+
- All Global DoR items are satisfied before implementation begins.
110+
- Bridges pass tests against Symfony 7 components.
111+
- Implementation meets the Global DoD.
112+
- [ ] Remove deprecated APIs and document replacements.
113+
- **Acceptance Criteria**
114+
- All Global DoR items are satisfied before implementation begins.
115+
- Deprecated APIs are removed.
116+
- Docs describe new APIs and migration paths.
117+
- Implementation meets the Global DoD.
118+
- [ ] Document release notes describing Symfony 7 compatibility.
119+
- **Acceptance Criteria**
120+
- All Global DoR items are satisfied before implementation begins.
121+
- Release notes highlight Symfony 7 support.
122+
- Implementation meets the Global DoD.
123+
124+
## Suggestions
125+
126+
- Automate dependency updates with a scheduled tool (e.g., Renovate or Dependabot).
127+
- Establish coding style guides per component to encourage consistency.
128+
- Consider setting up benchmarks for performance-critical components.
129+
- Link epics and tasks to issue trackers for traceability.
130+
- Review roadmap items quarterly to keep priorities current.

0 commit comments

Comments
 (0)