docs: rewrite the Task 0 proposal around a joint EMF implementation - #101
Merged
Merged
Conversation
This was referenced Sep 14, 2026
ExtraToast
added a commit
that referenced
this pull request
Sep 16, 2026
#139) #56's remaining items, the ones #101 and #102 did not already supersede. Every edit was made in Overleaf and mirrored back, because the mirror is never the source; a diff against the project reports no differences either way. **Delivery.** The proposal said release CI applies the resources with `kubectl apply -k`, which is a local imperative command standing in for a decision this project does not make. How a Deliverable Set reaches a cluster is defined separately from the model, so the text now says that plainly: the model states what should be true and what must be applied before what, and whether a pipeline applies it directly or a cluster-side reconciler consumes the pipeline's published output is a choice the specification is written to survive either way. **Output layout.** It said one Deliverable Set per application, which is the shape the model rejected: there is one tree for the estate, laid out per project and application by the path plan the resolved model carries, produced by six generators each run once over the whole composed input. That last part is not decoration; it is what lets a value one application derives from another be computed in one place. **Platform data.** The inputs paragraph named "naming and label rules, defaults, ingress and storage classes, the alert catalogue and cluster capabilities". Three of those do not exist. There is no alert catalogue, because PromQL belongs to the monitoring stack; no storage classes, because every volume takes the cluster default; and no naming rules left to state. The paragraph now names the pinned input set the model actually closes over, each input carried by digest. "Monitoring rules" became "monitor targets" in the next paragraph for the same reason. **The numbers were stale.** `auth` produces eleven files of about 620 lines, not ten files of about 890. The coursework README's task table gains the three deadlines, the Task 1 Overleaf project and directory that now exist, and a line saying the module table under `emf/` carries the same task numbering, so the two are read together rather than restating each other.
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.
Part of #78, and amends the tooling decision #81 builds on. Follows #100: the proposal uses Project, Application and Process throughout. #56 stays open for the next task.
What this branch does
The Task 0 proposal asked to substitute TypeScript and
zodfor the prescribed Ecore, QVT-OM and Acceleo stack, and the course did not accept that. The proposal now describes the project as it will be built: a joint implementation, with the EMF stack (Ecore, Xtext, OCL, QVT-OM, Acceleo) and the TypeScript compiler each implementing the same pipeline, written separately, and both held to the same committed expected outputs.The edits were made in Overleaf and the mirror was pulled back over
docs/mde/task-0-proposal/, asdocs/mde/README.mdrequires. Most of the existing phrasing is untouched:authexample, its 13 listing files, the Example column and every reference to them are gone, along with the YAML listing style inmain.tex.Table~\refandSection~\reflinks.The decisions later tickets inherit
Eclipse is not needed to build, but is supported for examination. ADR
0108said "no Eclipse IDE"; the proposal now promises examiners an Eclipse path.0108carries an amendment,emf/docs/architecture.md's Toolchain section andCLAUDE.mdsay the same, and #81 (walking skeleton) gained an acceptance criterion that the projects import and run in Eclipse Modeling Tools. CI still runs Maven only.Report conventions.
docs/mde/README.mdnow records that tables use[!htbp],\smalland ragged-right columns, and that prose never refers to "the table below" without a live reference. Its state row says the proposal was re-mirrored on 2026-09-14.One mismatch was resolved before editing: Overleaf's Table 1 said "release groups" where the mirror said "parts released together". The mirror's wording went to Overleaf first; that cell has since been replaced by the plain-terms text.
Verification
diff_projectagainst the Overleaf project after the final pull: no differences.node scripts/lint-adrs.ts emfreports9 files clean,npm run lint:adrsreports93 files clean,npm run lint:linksreports172 files clean,npm run lint:docsreports31 claim(s) clean, andvitestpasses 305 tests.