docs(ogar): askama IS the output — drop TS codegen path from the kit (+anti-pattern #8)#81
Merged
Merged
Conversation
…en path User steer: "I don't want typescript at all I want askama." Closing #80 (TsInterface emitter) and revising the Northstar plan + crate docs to reflect the correct architecture. Askama is the **rendering layer** in the WoA-rs pattern, not a codegen-to-other-language pipeline. The consumer reads askama-rendered HTML directly via askama_axum or equivalent; there is no separate TS frontend in the canonical pattern. The +5 kit is now split into two flavours: CODEGEN — emit source files for downstream compilers/engines: T1 RustStruct ✅ (PR #78 ships proof-of-shape) T5 SurrealqlTable DB DDL RENDER — emit HTML the human reads, via askama_axum: T2 HtmlListView tabular HTML (WoA list_view shape) T3 HtmlDetailView definition-list HTML for one instance T4 HtmlForm create/edit form with typed inputs NO TypeScript codegen. TsInterface + OpenapiSchema variants marked `Deprecated` in spec.rs; they'll be removed when T2 lands. The dispatcher still stubs them so existing call sites compile through one merge cycle. Plan changes: - §0 picture: redrawn as one crate, two flavours; no .ts in the layering. - §3 +5 table: replaces TsInterface/OpenapiSchema/NodeGuidRoutingArm with HtmlListView/HtmlDetailView/HtmlForm/SurrealqlTable. NodeGuid moves to roadmap. - §4 anti-pattern #8 ADDED: "Generate TypeScript source from askama" — with the why-wrong + reference to closed PR #80. - §7 roadmap T6 tightened: A2UI is *demand-driven*, only if a non-WoA consumer asks. Default canonical UI is server-rendered HTML via T2–T4. ogar-render-askama: - lib.rs doc rewritten to describe two flavours, anti-pattern #8 mention. - spec.rs ArtifactKind variant docs: RustStruct/SurrealqlTable annotated as codegen flavour; TsInterface/OpenapiSchema annotated **Deprecated** with rationale; NodeGuidRoutingArm noted as roadmap-only. cargo test 7/7 (no code changes, doc-only); workspace check green.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Calcifies the architectural correction from this thread: askama is the rendering layer, not a codegen-to-TypeScript path.
PR #80 (
TsInterfaceemitter) was closed for misreading the architecture. The Northstar plan + crate docs now reflect the WoA-rs pattern correctly: askama renders HTML the human reads directly (viaaskama_axum), no TS frontend transcompilation step.Two flavours in the kit (no TS)
.rs/.surqlsource for downstream compilers / DB enginesRustStruct✅, T5SurrealqlTableaskama_axumHtmlListView, T3HtmlDetailView, T4HtmlFormNodeGuidRoutingArmmoves from the bootstrap kit to the roadmap.Anti-pattern #8 added
"Generate TypeScript source from askama" — wrong layer; askama is the output, not a producer of other languages. PR #80 is the case study. Annotated with rationale + reference to closed PR.
Code changes (doc-only on the production path)
spec.rs::ArtifactKind— variant docs annotated:RustStruct/SurrealqlTable: codegen flavour, downstream compiler/DB consumes.TsInterface/OpenapiSchema: Deprecated, to be removed when T2 lands. Dispatcher still stubs them so call sites compile through one merge cycle.NodeGuidRoutingArm: roadmap-only note.lib.rscrate doc — rewritten to describe two flavours + anti-pattern Sprint 7 muscle-memory: three-way alignment (Kanban/ractor/SurrealQL) + std::sync correction round-trip #8 reference.Tests
cargo test -p ogar-render-askama7/7 (no production-code changes, doc-only). Workspace check green.Follow-up sequence
HtmlListView(the right T2): askama HTML template, mass-mail in the WoAlist_view.htmlshape, consumes&Class+ rows. Replaces the deprecatedTsInterfacevariant; dispatcher's stub fallback removed forTsInterface/OpenapiSchemasimultaneously.HtmlDetailView/ T4 —HtmlForm: same shape, different artifact.SurrealqlTable: codegen flavour, mirrors T1.