|
| 1 | +# TextForSpeech Roadmap Migration |
| 2 | + |
| 3 | +This ledger records where every unfinished item in the frozen TextForSpeech |
| 4 | +`ROADMAP.md` moved after normalization and summarization became the internal |
| 5 | +`SpeakSwiftlyNormalization` target in SpeakSwiftly 12. |
| 6 | + |
| 7 | +## Issue Inventory |
| 8 | + |
| 9 | +TextForSpeech has no open GitHub issues. Its only historical issue, #33, |
| 10 | +was already closed before retirement. SpeakSwiftly issues |
| 11 | +[#111](https://github.com/gaelic-ghost/SpeakSwiftly/issues/111) and |
| 12 | +[#112](https://github.com/gaelic-ghost/SpeakSwiftly/issues/112) already tracked |
| 13 | +the two downstream Markdown projection requests and were updated in place |
| 14 | +instead of duplicated. |
| 15 | + |
| 16 | +## Roadmap Mapping |
| 17 | + |
| 18 | +| TextForSpeech source | SpeakSwiftly destination | Coverage | |
| 19 | +| --- | --- | --- | |
| 20 | +| Product principles | Milestone 35 and issues [#114](https://github.com/gaelic-ghost/SpeakSwiftly/issues/114), [#116](https://github.com/gaelic-ghost/SpeakSwiftly/issues/116), and [#117](https://github.com/gaelic-ghost/SpeakSwiftly/issues/117) | Deterministic shared normalization, namespace-first API discovery, and detection plus documented style behavior are acceptance constraints rather than separate feature work. | |
| 21 | +| Milestone 5: Structured Source Normalization | [#114](https://github.com/gaelic-ghost/SpeakSwiftly/issues/114) | SwiftSyntax adoption, structured Swift traversal, generic fallback, representative tests, Python and Rust category decision, documentation, and future language-lane extensibility. | |
| 22 | +| Milestone 7: Release and Maintainability Polish | [#118](https://github.com/gaelic-ghost/SpeakSwiftly/issues/118) | Post-consolidation source-role audit, scanability, and current public and maintainer architecture docs. | |
| 23 | +| Milestone 8: Summary-Aware Normalization Requests | [#115](https://github.com/gaelic-ghost/SpeakSwiftly/issues/115) | Live provider checks or examples, caller guidance, and the first-class summary-model-selection decision. | |
| 24 | +| Milestone 8.1 deferred follow-up | [#119](https://github.com/gaelic-ghost/SpeakSwiftly/issues/119) | Conditional Foundation Models prompt-risk preflight with its downstream-need trigger preserved. | |
| 25 | +| Milestone 9: Public API Model Cleanup | [#116](https://github.com/gaelic-ghost/SpeakSwiftly/issues/116) | Persistence archive contract, narrower lifecycle APIs, common replacement authoring, advanced rule access, docs, tests, and release guidance. | |
| 26 | +| Milestone 10: Style-Based Normalization Behavior | [#117](https://github.com/gaelic-ghost/SpeakSwiftly/issues/117) | Semantic-run audit, additional `NSDataDetector` kinds, default-spoken-kind decision, developer-token independence, per-family tests, and compact, balanced, and explicit behavior. | |
| 27 | +| Milestone 10: Codex Hook Review | [#111](https://github.com/gaelic-ghost/SpeakSwiftly/issues/111), [#112](https://github.com/gaelic-ghost/SpeakSwiftly/issues/112), and [#119](https://github.com/gaelic-ghost/SpeakSwiftly/issues/119) | Proven shared Markdown table and section projection needs are concrete issues; any additional hook behavior remains trigger-gated. | |
| 28 | +| Backlog: languages beyond Swift | [#119](https://github.com/gaelic-ghost/SpeakSwiftly/issues/119), with implementation shaped by [#114](https://github.com/gaelic-ghost/SpeakSwiftly/issues/114) | Preserve the decision without adding speculative parsers before Swift proves the shared shape. | |
| 29 | +| Backlog: public nested source-format inspection | [#119](https://github.com/gaelic-ghost/SpeakSwiftly/issues/119) | Preserve the concrete-caller trigger without expanding the public API now. | |
| 30 | + |
| 31 | +## Explicitly Retired Items |
| 32 | + |
| 33 | +- The TextForSpeech “next minor release” work completed with the final |
| 34 | + `v0.23.0` retirement release. It is not carried forward as a false |
| 35 | + SpeakSwiftly task. |
| 36 | +- GitHub repository archival remains unchecked in TextForSpeech because it |
| 37 | + requires separate explicit approval. It is not part of Milestone 35 and this |
| 38 | + migration does not archive, delete, or rewrite the frozen repository. |
| 39 | + |
| 40 | +## Completion Rule |
| 41 | + |
| 42 | +Milestone 35 is complete when each mapped issue is implemented, explicitly |
| 43 | +retired with durable rationale, or remains intentionally trigger-gated in |
| 44 | +#119, and when an organization-wide dependency audit confirms no active |
| 45 | +consumer still resolves or imports TextForSpeech. |
0 commit comments