Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
28c47c4
feat: revised MVP scope
juanmardefago Mar 16, 2026
bbd855c
docs: align agent workflow with MVP planning
juanmardefago Mar 17, 2026
550432d
docs: record MVP-033 network contract
juanmardefago Mar 18, 2026
5d18b9f
devenv: make demo-ready state the default
juanmardefago Mar 23, 2026
799f001
docs: realign MVP planning docs
juanmardefago Mar 25, 2026
73fab75
Align runtime payment contract and fix validation stability
juanmardefago Mar 27, 2026
2e73c3e
docs: define provider persistence boundary for MVP-003
juanmardefago Mar 27, 2026
bd37adf
feat: updated implementation sequencing doc
juanmardefago Mar 27, 2026
5ce40d9
provider: add MVP-010 low-funds session stop handling
juanmardefago Mar 27, 2026
017a445
provider: add deterministic RAV request thresholds
juanmardefago Mar 27, 2026
9dbb322
Define MVP provider operator auth contract
juanmardefago Mar 27, 2026
f9bcdbf
Tighten firecore integration and isolate SDS runtime drift
juanmardefago Mar 28, 2026
8ff7feb
Validate MVP-014 with local firecore runtime workflow
juanmardefago Mar 28, 2026
ad3420a
Wire plugin metering into gateway payment state
juanmardefago Mar 28, 2026
1171ed0
Harden firecore payment-state assertion
juanmardefago Mar 28, 2026
6a79b07
Mark MVP-015 complete in planning docs
juanmardefago Mar 28, 2026
964554b
Enforce low-funds stops in live firecore streams
juanmardefago Mar 28, 2026
f9bf963
Add standalone oracle discovery service
juanmardefago Mar 30, 2026
30c581c
Integrate oracle discovery into the consumer sidecar
juanmardefago Mar 30, 2026
46c54c5
feat: update docs
juanmardefago Mar 30, 2026
3aa93c0
Align MVP docs with provider-originated runtime control
juanmardefago Mar 31, 2026
22b4044
Implement consumer sidecar ingress slice
juanmardefago Mar 31, 2026
fef5023
Implement provider-driven ingress payment control
juanmardefago Apr 1, 2026
943153c
Document provider runtime compatibility contract
juanmardefago Apr 1, 2026
d4bab5e
Refresh local runtime validation workflow
juanmardefago Apr 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions .reflex
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,13 @@
echo "Starting Devenv..." && \
DLOG="${DLOG:-warn}" ./devel/sds devenv'

-r "\.(go|sql)$" -s -R "devel/.*" -- sh -c \
'echo "Starting Consumer Sidecar ..." && \
-r "(\.(go|sql)$|devel/consumer-sidecar\.direct\.yaml$)" -s -R "devel/.*" -- sh -c \
'echo "Starting Consumer Sidecar (direct provider ingress) ..." && \
DLOG=".*=debug" ./devel/sds consumer sidecar \
--grpc-listen-addr=:9002 \
--config=devel/consumer-sidecar.direct.yaml \
--plaintext \
--signer-private-key=0xe4c2694501255921b6588519cfd36d4e86ddc4ce19ab1bc91d9c58057c040304 \
--signer-private-key=0x0bba7d355d1750fce9756af7887e826e8071a56d9d8e327f546b1f34c78f9281 \
--collector-address=0x1d01649b4f94722b55b5c3b3e10fe26cd90c1ba9'

-r "\.(go|sql)$" -s -R "devel/.*" -- sh -c \
Expand All @@ -22,16 +23,20 @@
DLOG=".*=debug" ./devel/sds provider gateway \
--repository-dsn="psql://dev-node:changeme@localhost:5432/dev-node?sslmode=disable" \
--grpc-listen-addr=:9001 \
--plugin-listen-addr=:9003 \
--plaintext \
--service-provider=0xa6f1845e54b1d6a95319251f1ca775b4ad406cdf \
--collector-address=0x1d01649b4f94722b55b5c3b3e10fe26cd90c1ba9 \
--escrow-address=0xfc7487a37ca8eac2e64cba61277aa109e9b8631e \
--rpc-endpoint=http://localhost:58545'
--rpc-endpoint=http://localhost:58545 \
--data-plane-endpoint="https://localhost:10016?insecure=true"'

-r "devel/(\.provider-gateway|firecore\.config\.yaml)$" -s -R "devel/.firehose" -- sh -c \
'echo "Restarting firehose-core instance..." && \
rm -rf ./devel/.firehose && \
echo "Starting Firehose Core" && \
echo " Substreams: sds sink -e https://localhost:10016 --insecure" && \
echo " Consumer sidecar ingress: http://localhost:9002" && \
echo " Provider control plane: http://localhost:9001" && \
echo " Substreams tier1: https://localhost:10016?insecure=true" && \
echo "" && \
DLOG="${DLOG:-error}" firecore -c devel/firecore.config.yaml -d ./devel/.firehose start'
42 changes: 42 additions & 0 deletions .reflex.direct
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
-r "^$" -s -R "devel/.*" -- sh -c \
'echo "Starting Docker Compose (PostgreSQL, Redis, pgweb)..." && \
docker compose up -d && \
sleep 3 && \
echo "Applying database migrations..." && \
(echo "y" | ./devel/migrate.sh up || echo "Migrations already up to date") && \
echo "" && \
echo "Starting Devenv..." && \
DLOG="${DLOG:-warn}" ./devel/sds devenv'

-r "(\.(go|sql)$|devel/consumer-sidecar\.direct\.yaml$)" -s -R "devel/.*" -- sh -c \
'echo "Starting Consumer Sidecar (direct provider ingress) ..." && \
DLOG=".*=debug" ./devel/sds consumer sidecar \
--grpc-listen-addr=:9002 \
--config=devel/consumer-sidecar.direct.yaml \
--plaintext \
--signer-private-key=0x0bba7d355d1750fce9756af7887e826e8071a56d9d8e327f546b1f34c78f9281 \
--collector-address=0x1d01649b4f94722b55b5c3b3e10fe26cd90c1ba9'

-r "\.(go|sql)$" -s -R "devel/.*" -- sh -c \
'echo "Starting Provider Gateway (with PostgreSQL)..." && \
head -c 8 /dev/urandom | xxd -p -c 16 > ./devel/.provider-gateway && \
DLOG=".*=debug" ./devel/sds provider gateway \
--repository-dsn="psql://dev-node:changeme@localhost:5432/dev-node?sslmode=disable" \
--grpc-listen-addr=:9001 \
--plugin-listen-addr=:9003 \
--plaintext \
--service-provider=0xa6f1845e54b1d6a95319251f1ca775b4ad406cdf \
--collector-address=0x1d01649b4f94722b55b5c3b3e10fe26cd90c1ba9 \
--escrow-address=0xfc7487a37ca8eac2e64cba61277aa109e9b8631e \
--rpc-endpoint=http://localhost:58545 \
--data-plane-endpoint="https://localhost:10016?insecure=true"'

-r "devel/(\.provider-gateway|firecore\.config\.yaml)$" -s -R "devel/.firehose" -- sh -c \
'echo "Restarting firehose-core instance..." && \
rm -rf ./devel/.firehose && \
echo "Starting Firehose Core" && \
echo " Consumer sidecar ingress: http://localhost:9002" && \
echo " Provider control plane: http://localhost:9001" && \
echo " Substreams tier1: https://localhost:10016?insecure=true" && \
echo "" && \
DLOG="${DLOG:-error}" firecore -c devel/firecore.config.yaml -d ./devel/.firehose start'
50 changes: 50 additions & 0 deletions .reflex.oracle
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
-r "^$" -s -R "devel/.*" -- sh -c \
'echo "Starting Docker Compose (PostgreSQL, Redis, pgweb)..." && \
docker compose up -d && \
sleep 3 && \
echo "Applying database migrations..." && \
(echo "y" | ./devel/migrate.sh up || echo "Migrations already up to date") && \
echo "" && \
echo "Starting Devenv..." && \
DLOG="${DLOG:-warn}" ./devel/sds devenv'

-r "(\.(go|sql)$|devel/oracle\.config\.yaml$)" -s -R "devel/.*" -- sh -c \
'echo "Starting Oracle ..." && \
DLOG=".*=debug" ./devel/sds oracle serve \
--grpc-listen-addr=:9004 \
--config=devel/oracle.config.yaml \
--plaintext'

-r "(\.(go|sql)$|devel/consumer-sidecar\.oracle\.yaml$|devel/oracle\.config\.yaml$)" -s -R "devel/.*" -- sh -c \
'echo "Starting Consumer Sidecar (oracle discovery ingress) ..." && \
DLOG=".*=debug" ./devel/sds consumer sidecar \
--grpc-listen-addr=:9002 \
--config=devel/consumer-sidecar.oracle.yaml \
--plaintext \
--signer-private-key=0x0bba7d355d1750fce9756af7887e826e8071a56d9d8e327f546b1f34c78f9281 \
--collector-address=0x1d01649b4f94722b55b5c3b3e10fe26cd90c1ba9'

-r "\.(go|sql)$" -s -R "devel/.*" -- sh -c \
'echo "Starting Provider Gateway (with PostgreSQL)..." && \
head -c 8 /dev/urandom | xxd -p -c 16 > ./devel/.provider-gateway && \
DLOG=".*=debug" ./devel/sds provider gateway \
--repository-dsn="psql://dev-node:changeme@localhost:5432/dev-node?sslmode=disable" \
--grpc-listen-addr=:9001 \
--plugin-listen-addr=:9003 \
--plaintext \
--service-provider=0xa6f1845e54b1d6a95319251f1ca775b4ad406cdf \
--collector-address=0x1d01649b4f94722b55b5c3b3e10fe26cd90c1ba9 \
--escrow-address=0xfc7487a37ca8eac2e64cba61277aa109e9b8631e \
--rpc-endpoint=http://localhost:58545 \
--data-plane-endpoint="https://localhost:10016?insecure=true"'

-r "devel/(\.provider-gateway|firecore\.config\.yaml)$" -s -R "devel/.firehose" -- sh -c \
'echo "Restarting firehose-core instance..." && \
rm -rf ./devel/.firehose && \
echo "Starting Firehose Core" && \
echo " Consumer sidecar ingress: http://localhost:9002" && \
echo " Oracle discovery: http://localhost:9004" && \
echo " Provider control plane: http://localhost:9001" && \
echo " Substreams tier1: https://localhost:10016?insecure=true" && \
echo "" && \
DLOG="${DLOG:-error}" firecore -c devel/firecore.config.yaml -d ./devel/.firehose start'
39 changes: 0 additions & 39 deletions .reflex.stack

This file was deleted.

27 changes: 27 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,33 @@ grt, err := sds.NewGRT(<accepts all types>)
sds.MustNewGRT(<accepts all types>)
```

## MVP Planning References

For MVP-scoped work:

- Use `docs/mvp-scope.md` as the target-state definition.
- Use `plans/mvp-gap-analysis.md` for current-state assessment.
- Use `plans/mvp-implementation-backlog.md` as the active execution backlog.
- Treat `plans/implementation-backlog.md` as historical context unless explicitly requested.

## Runtime Compatibility Workflow

- If a change affects shared SDS runtime/plugin contracts, protobufs, or deployment compatibility for external runtimes such as `firecore`, update the compatibility docs in the same change.
- Treat `docs/provider-runtime-compatibility.md` as the operator-facing source of truth for supported runtime tuples, known incompatible runtimes, and compatibility assumptions.
- Call out whether the change is runtime-breaking or backward-compatible for external `firecore` / Substreams deployments.
- Do not add automatic compatibility probes that create runtime side effects unless the user explicitly asks for that tradeoff; prefer explicit documentation and validated tuples for MVP.

## Commit Messages

- When asked to create a commit, first inspect recent commits with `git log --format='%s%n%b' -n <N>` and follow the prevailing repo style instead of inventing a new format.
- In this repo, the expected format is:
- one short imperative subject line
- a blank line
- a flat bullet list in the commit body, with each bullet starting with `- `
- The commit body must contain real newlines. Never pass a single shell-escaped string containing literal `\n` sequences as the body.
- Prefer either multiple `-m` flags or a temporary commit message file so Git receives the intended paragraph and bullet formatting verbatim.
- Do not create a commit until `go vet ./...` and `go test ./...` pass unless the user explicitly asks otherwise.

## Notes

- All builds must pass before committing
Expand Down
Loading