MarketingDemoServer (test sources only, never shipped), modelled on qbit-alerts' demo server:
H2 in memory, mock login granting every marketing permission, no bundled frontend; port MARKETING_DEMO_PORT (default 8000).
Real data: the verified starter data (LOAD_STARTER_DATA), then history made through the real actions: readiness checks, Draft with Agent on the scripted provider, edit, review, approve, schedule, Run Due Executions on the controlled test transport (an Accepted execution with an attempt and a test delivery), a second item In review, and fixture outcome events flagged as test data.
ScriptedModelProvider made public for the demo package; qqq-middleware-javalin added at test scope.
Javadoc: how to run it and point the Next UI at it.
Used for the 0.1.0 screenshots (app home, product, campaign, content, execution, agent run; light/dark; 390/1440). Findings fixed in #21.
Tests
./mvnw verify green locally (develop merged in).
Written by a Sonnet subagent, reviewed by Claude Opus.
## Summary
`MarketingDemoServer` (test sources only, never shipped), modelled on qbit-alerts' demo server:
- H2 in memory, mock login granting every marketing permission, no bundled frontend; port `MARKETING_DEMO_PORT` (default 8000).
- Real data: the verified starter data (LOAD_STARTER_DATA), then history made through the real actions: readiness checks, Draft with Agent on the scripted provider, edit, review, approve, schedule, Run Due Executions on the controlled test transport (an Accepted execution with an attempt and a test delivery), a second item In review, and fixture outcome events flagged as test data.
- `ScriptedModelProvider` made public for the demo package; `qqq-middleware-javalin` added at test scope.
- Javadoc: how to run it and point the Next UI at it.
Used for the 0.1.0 screenshots (app home, product, campaign, content, execution, agent run; light/dark; 390/1440). Findings fixed in #21.
## Tests
`./mvnw verify` green locally (develop merged in).
Written by a Sonnet subagent, reviewed by Claude Opus.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
MarketingDemoServer(test sources only, never shipped), modelled on qbit-alerts' demo server:MARKETING_DEMO_PORT(default 8000).ScriptedModelProvidermade public for the demo package;qqq-middleware-javalinadded at test scope.Used for the 0.1.0 screenshots (app home, product, campaign, content, execution, agent run; light/dark; 390/1440). Findings fixed in #21.
Tests
./mvnw verifygreen locally (develop merged in).Written by a Sonnet subagent, reviewed by Claude Opus.
🤖 Generated with Claude Code