-
Notifications
You must be signed in to change notification settings - Fork 0
feat: add distributed project manifest primitives #53
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
patrickleet
merged 24 commits into
main
from
codex/hops-service-create-microsvc-scaffold
Jun 6, 2026
Merged
Changes from all commits
Commits
Show all changes
24 commits
Select commit
Hold shift + click to select a range
4d28854
feat: add distributed project manifest primitives
patrickleet 4e87863
feat: return CommitReceipt from outbox commit
patrickleet e620e6c
feat: add BusPublisher (Bus -> AsyncMessagePublisher) adapter
patrickleet 8dc2170
feat: add HasOutboxStore capability for repo wrappers
patrickleet 023e5c8
feat: add Service::with_bus + Microservice runtime (produce side)
patrickleet 4bf0cd0
feat: add OutboxCommit::commit_claimed (claim-in-transaction)
patrickleet dcb82ca
feat: Context::commit_outbox — publish-in-commit via attached bus
patrickleet cabb902
feat: Microservice::run derives listen/subscribe from handlers
patrickleet 8c2a502
test: SQLite end-to-end durable-enqueue dispatch
patrickleet 85881cb
feat: commit_outbox works for all repo shapes incl snapshots
patrickleet bef7691
refactor: snapshots are a transparent optimization (one repo type)
patrickleet 8d6eda4
refactor: repo.outbox(msg).commit(agg) publishes — no wrapper
patrickleet bbe7405
refactor: with_bus is a Service builder step, not a separate type
patrickleet 25d5895
refactor: Service::new().with_repo().with_read_model_store() builder
patrickleet 3bb37df
docs: README durable-enqueue framing + close the Quick Start produce …
patrickleet 3ad2b17
feat: compose read-models + snapshots in one aggregate commit
patrickleet 9879c6c
test: aggregate + outbox + read-model + snapshot in one transaction
patrickleet dd6cb09
feat: distributed_tooling crate — pure service scaffold generation
patrickleet b79abb0
refactor: split distributed_tooling generate.rs into focused modules
patrickleet 8ff658f
feat: port GitOps + GitHub workflow generation into distributed_tooling
patrickleet a4942c3
refactor: model the three GitHub scaffold flags independently
patrickleet a1b83d3
feat: expose package_name() for default output-dir derivation
patrickleet 7547033
fix: address PR #53 review — generated-output correctness + builder g…
patrickleet d931a6e
ci: publish distributed_tooling on version tags
patrickleet 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
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
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
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,10 @@ | ||
| [package] | ||
| name = "distributed_tooling" | ||
| description = "Deterministic service-scaffold and artifact generation for Distributed services. Pure (no filesystem, network, or CLI): a ServiceScaffoldSpec in, a GeneratedProject out." | ||
| version.workspace = true | ||
| edition.workspace = true | ||
| license.workspace = true | ||
| repository.workspace = true | ||
|
|
||
| [dependencies] | ||
| serde_json = "1" |
Oops, something went wrong.
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.
Pin workflow references to commit hashes per security policy.
The workflow reference on line 23 uses a branch reference (
@feat/cargo-publish) instead of a pinned commit hash. This violates the blanket policy flagged by static analysis and creates a supply-chain security risk—if the referenced branch is compromised, secrets could be exfiltrated or malicious code executed.Note that this issue also affects lines 13, 32, and 43 in this file. Consider pinning all workflow references to specific commit hashes.
🔒 Example fix for pinning workflow references
Apply the same pattern to lines 13, 32, and 43.
📝 Committable suggestion
🧰 Tools
🪛 zizmor (1.25.2)
[error] 23-23: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy)
(unpinned-uses)
🤖 Prompt for AI Agents
Source: Linters/SAST tools