Skip to content

Commit d39bb13

Browse files
authored
Merge pull request #3 from JoshuaEstes/codex/audit-codebase-and-create-library-roadmap
docs: add roadmap for future work
2 parents 4c274d8 + 2fc636d commit d39bb13

2 files changed

Lines changed: 68 additions & 0 deletions

File tree

AGENTS.md

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

54+
## Roadmap
55+
56+
- The project roadmap lives in `ROADMAP.md` at the repository root.
57+
- Remove completed items from the roadmap as part of the related change.
58+
5459
## Pull Request Checklist
5560

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

ROADMAP.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
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+
## Prioritized Roadmap
19+
1. **Stabilize Core Components for 1.0 Release**
20+
- Finalize public APIs for existing components.
21+
- Increase test coverage and fix outstanding issues.
22+
- Prepare changelogs and migration guides.
23+
- **Acceptance Criteria**
24+
- Every component tagged for 1.0 has >=90% test coverage.
25+
- Changelogs outline breaking changes and upgrade paths.
26+
- Documentation updated for all stabilized components.
27+
28+
2. **Update HTTP Libraries to Latest PSR Versions**
29+
- Align `HttpMessage` and `HttpFactory` components with PSR-7 v2 and PSR-17 updates.
30+
- Ensure compatibility with PSR-18 clients.
31+
- **Acceptance Criteria**
32+
- Components comply with PSR-7 v2 and PSR-17.
33+
- Integration tests against a PSR-18 client pass.
34+
- Docs include examples using the updated interfaces.
35+
36+
3. **Introduce Validation Component**
37+
- Provide a rule-based validation system similar to Symfony Validator but framework agnostic.
38+
- Include common validators and an extensible API for custom rules.
39+
- **Acceptance Criteria**
40+
- New `Component/Validation` with rule definitions and error reporting.
41+
- Unit tests cover each validator and failure scenario.
42+
- Documentation with usage examples and customization guide.
43+
44+
4. **Add Queue Component for Background Jobs**
45+
- Implement a simple queue abstraction with in-memory and Redis adapters.
46+
- Provide Symfony Messenger bridge for interoperability.
47+
- **Acceptance Criteria**
48+
- `Component/Queue` with enqueue/dequeue interfaces and adapters.
49+
- Bridge package integrates with Symfony Messenger.
50+
- Tests demonstrate reliable job processing and failure handling.
51+
52+
5. **Enhance Symfony Bridges for Symfony 7**
53+
- Review all Symfony bridge packages for compatibility with Symfony 7.
54+
- Add support for new security and HTTP features where applicable.
55+
- **Acceptance Criteria**
56+
- Bridges pass tests against Symfony 7 components.
57+
- Deprecated APIs removed and replacements documented.
58+
- Release notes describe Symfony 7 compatibility.
59+
60+
## Suggestions
61+
- Automate dependency updates with a scheduled tool (e.g., Renovate or Dependabot).
62+
- Establish coding style guides per component to encourage consistency.
63+
- Consider setting up benchmarks for performance-critical components.

0 commit comments

Comments
 (0)