Repository navigation
Path (a) full-stack omni-emission visceral demo: write dsl/demos/todo_service.dag (TODO Item/List/User + mutations) → exercise the existing 4 emitters (Rust backend, SQL DDL, OpenAPI yaml, Markdown docs per src/v3/compiler/src/omni_shape_b_openapi.rs gates #25-#28 CONSUMER_LANDED+PASSING) → emit 4 a #2848
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
186ea32
WIP: Path (a) full-stack omni-emission visceral demo: write dsl/demos…
briansrls 7705b84
chore: apply cargo fmt (todo_service omni test)
briansrls fd3ec71
WIP: Path (a) full-stack omni-emission visceral demo: write dsl/demos…
briansrls b8a2e8a
Merge remote-tracking branch 'origin/main' into session/merry-ram-238
briansrls 41916b6
Merge remote-tracking branch 'origin/main' into session/merry-ram-238
briansrls 532bab7
Merge remote-tracking branch 'origin/main' into session/merry-ram-238
briansrls 2e78620
test(omni): use counted compile helper for todo_service demo (parity …
briansrls 0c34c28
Merge remote-tracking branch 'origin/main' into session/merry-ram-238
briansrls 1746120
Merge remote-tracking branch 'origin/main' into session/merry-ram-238
briansrls 7b5e230
Merge remote-tracking branch 'origin/main' into session/merry-ram-238
briansrls 75146e4
demo(todo_service): add example data rows so domain types are inhabited
briansrls ef28f06
Merge remote-tracking branch 'origin/main' into session/merry-ram-238
briansrls ba37963
test(omni): rustc+probe todo_service backend against canonical routes
briansrls 5bb6ab2
Merge remote-tracking branch 'origin/main' into session/merry-ram-238
briansrls 5c76d28
Merge remote-tracking branch 'origin/main' into session/merry-ram-238
briansrls ce9ea98
WIP: Path (a) full-stack omni-emission visceral demo: write dsl/demos…
briansrls 3e9675d
Merge remote-tracking branch 'origin/main' into session/merry-ram-238
briansrls 25c5196
Merge remote-tracking branch 'origin/main' into session/merry-ram-238
briansrls deec258
Merge remote-tracking branch 'origin/main' into session/merry-ram-238
briansrls File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,167 @@ | ||
| // demos/todo_service — minimal TODO domain + REST operation table for omni-emission demos. | ||
| // | ||
| // Exercises Shape B projections in `omni_shape_b_openapi.rs` (OpenAPI 3.1 YAML, | ||
| // Markdown drift-lock, SQL DDL route schema, runnable Rust backend) plus Shape A | ||
| // `emit_rust` on one shared `compile_to_dag` result (r3-program-plan §1.8 #25–#28). | ||
| // | ||
| // Domain carriers are illustrated with small `data` inhabitants (human-facing | ||
| // demo context). Omni route extraction still keys only on | ||
| // `List<{ endpoint: RestEndpointBinding }>` rows (`v3.std.services`). | ||
|
|
||
| module demos.todo_service | ||
|
|
||
| import std.types { GET, POST, PUT, PATCH, DELETE, Int, String, Bool } | ||
| import std.effects { LiteralToken, ParamToken } | ||
| import v3.std.services { RestEndpointBinding } | ||
|
|
||
| // Trivial root `let` so the module is not purely type-level (same cadence as | ||
| // `omni_emit_anchor` in `m1_5_omni_shape_b_openapi_test` inline fixtures). Unused by route | ||
| // extractors; keeps demo symmetry with other omni Shape B receipts. | ||
| let todo_service_emit_anchor: Int = 0 | ||
|
|
||
| type User { | ||
| id: String | ||
| display_name: String | ||
| } | ||
|
|
||
| type TodoItem { | ||
| id: String | ||
| list_id: String | ||
| title: String | ||
| completed: Bool | ||
| } | ||
|
|
||
| type TodoList { | ||
| id: String | ||
| owner_id: String | ||
| title: String | ||
| } | ||
|
|
||
| type TodoServiceOperation { | ||
| endpoint: RestEndpointBinding | ||
| } | ||
|
|
||
| data todo_domain_example_user: User = { | ||
| id: "demo-user", | ||
| display_name: "Demo User" | ||
| } | ||
|
|
||
| data todo_domain_example_item: TodoItem = { | ||
| id: "demo-todo", | ||
| list_id: "demo-list", | ||
| title: "Wire domain carriers to example rows", | ||
| completed: false | ||
| } | ||
|
|
||
| data todo_domain_example_list: TodoList = { | ||
| id: "demo-list", | ||
| owner_id: "demo-user", | ||
| title: "Demo backlog" | ||
| } | ||
|
|
||
| data todo_service_operations: List<TodoServiceOperation> = [ | ||
| { | ||
| endpoint: { | ||
| method: GET, | ||
| path: { tokens: [LiteralToken { text: "users" }] } | ||
| } | ||
| }, | ||
| { | ||
| endpoint: { | ||
| method: POST, | ||
| path: { tokens: [LiteralToken { text: "users" }] } | ||
| } | ||
| }, | ||
| { | ||
| endpoint: { | ||
| method: GET, | ||
| path: { | ||
| tokens: [LiteralToken { text: "users/" }, ParamToken { name: "userId" }] | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| endpoint: { | ||
| method: PUT, | ||
| path: { | ||
| tokens: [LiteralToken { text: "users/" }, ParamToken { name: "userId" }] | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| endpoint: { | ||
| method: DELETE, | ||
| path: { | ||
| tokens: [LiteralToken { text: "users/" }, ParamToken { name: "userId" }] | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| endpoint: { | ||
| method: GET, | ||
| path: { | ||
| tokens: [ | ||
| LiteralToken { text: "users/" }, | ||
| ParamToken { name: "userId" }, | ||
| LiteralToken { text: "/todos" } | ||
| ] | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| endpoint: { | ||
| method: POST, | ||
| path: { | ||
| tokens: [ | ||
| LiteralToken { text: "users/" }, | ||
| ParamToken { name: "userId" }, | ||
| LiteralToken { text: "/todos" } | ||
| ] | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| endpoint: { | ||
| method: GET, | ||
| path: { | ||
| tokens: [LiteralToken { text: "todos/" }, ParamToken { name: "todoId" }] | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| endpoint: { | ||
| method: PATCH, | ||
| path: { | ||
| tokens: [LiteralToken { text: "todos/" }, ParamToken { name: "todoId" }] | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| endpoint: { | ||
| method: DELETE, | ||
| path: { | ||
| tokens: [LiteralToken { text: "todos/" }, ParamToken { name: "todoId" }] | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| endpoint: { | ||
| method: GET, | ||
| path: { | ||
| tokens: [LiteralToken { text: "lists/" }, ParamToken { name: "listId" }] | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| endpoint: { | ||
| method: POST, | ||
| path: { | ||
| tokens: [ | ||
| LiteralToken { text: "lists/" }, | ||
| ParamToken { name: "listId" }, | ||
| LiteralToken { text: "/todos" } | ||
| ] | ||
| } | ||
| } | ||
| } | ||
| ] |
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BLOCKING: Expanded hand-authored Rust under src/v3 needs exactly one P5 receipt in the PR body or a changed planning artifact; this diff provides none, so INVARIANTS.md P5 is not satisfied.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P5 (INVARIANTS §mechanism (b)) — addressed on the PR: Body now has
SG-0 hand-path delta: +0and one checkable receipt (ROADMAP### Lane acceptance — .dag gates/ T-Emit /emit_omni_demo_fixtures_green, PR #1051). Rust edits stay in census-listedm1_5_omni_shape_b_openapi_test.rs. Please Resolve this thread: #2848 (comment)— sent from merry-ram-238