-
Notifications
You must be signed in to change notification settings - Fork 0
Add scenario demo verification and bug bash report #97
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
DanFashauer
merged 12 commits into
main
from
chatgpt/scenario-demo-verification-bug-bash
May 18, 2026
Merged
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
d940fea
Add scenario demo verification and bug bash report
DanFashauer 05264e7
Add scenario demo verification and bug bash report
DanFashauer 167ce60
Add scenario demo verification and bug bash report
DanFashauer fe72966
Add scenario demo verification and bug bash report
DanFashauer 78fd85b
Add scenario demo verification and bug bash report
DanFashauer 092d845
Add scenario demo verification and bug bash report
DanFashauer 7dfb4bd
Add scenario demo verification and bug bash report
DanFashauer c8c29be
Align CI workflows with pinned npm toolchain
DanFashauer bee30e6
Align CI workflows with pinned npm toolchain
DanFashauer d46ee1e
Align CI workflows with pinned npm toolchain
DanFashauer f2610cc
Align CI workflows with pinned npm toolchain
DanFashauer fc94754
Make admin policies E2E smoke test auth-aware
DanFashauer 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 @@ | ||
| 22 |
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,92 @@ | ||
| # SignalGrid Bug Bash Report | ||
|
|
||
| Date: 2026-05-14 | ||
| Scope: demo readiness, scenario verification, v1 compatibility API fail-closed behavior, dependency update triage, and buyer-demo stability. | ||
|
|
||
| ## Executive summary | ||
|
|
||
| SignalGrid is demo-ready for controlled buyer walkthroughs. No P0 demo blockers were found after the validation pass. The browser demo and deterministic demo API remain safe/simulated, scenario-specific verification is available for all canonical outcomes, and the `/api/v1/*` compatibility surface now fails closed when required API keys or HMAC signing secrets are missing. | ||
|
|
||
| Remediation should remain described as simulated/talk-track until an audited remediation loop exists. | ||
|
|
||
| ## Commands and checks run by Codex | ||
|
|
||
| - `npm ci` | ||
| - `npm run typecheck` | ||
| - `npm run lint` | ||
| - `npm run build` | ||
| - `npm run test:run` | ||
| - `npm run test:api:server` | ||
| - `npx vitest run tests/api/demo-session-start.test.ts` | ||
| - `npm run demo:media` | ||
| - `git diff --check` | ||
|
|
||
| `npm run demo:media` completed with deterministic storyboard fallback artifacts because Playwright browser binaries were unavailable in the validation container. | ||
|
|
||
| ## Scenario verification | ||
|
|
||
| Scenario-specific verification was added to: | ||
|
|
||
| ```text | ||
| GET /api/demo/verify?scenario=compliant | ||
| GET /api/demo/verify?scenario=non-compliant | ||
| GET /api/demo/verify?scenario=unknown | ||
| GET /api/demo/verify?scenario=all | ||
| ``` | ||
|
|
||
| Each scenario returns machine-readable PASS/FAIL checks for: | ||
|
|
||
| - expected outcome | ||
| - expected decision | ||
| - expected simulated HTTP status | ||
| - deterministic demo data only | ||
| - no webhook calls | ||
| - no production data mutation | ||
| - no secret exposure | ||
|
|
||
| The original deny-path timeline verifier remains available when no `scenario` query parameter is provided. | ||
|
|
||
| ## P0 findings | ||
|
|
||
| No P0 demo blockers were found. | ||
|
|
||
| ## P1 findings | ||
|
|
||
| | Finding | Status | Notes | | ||
| | --- | --- | --- | | ||
| | Scenario-specific verification was under-specified | Fixed | Added explicit verification selectors for compliant, non-compliant, unknown, and all scenarios. | | ||
| | `/api/v1/*` default API key/signing fallbacks could confuse shared-stage posture | Fixed | Runtime route now fails closed when required `ADMIN_API_KEY`, `DEVICE_WEBHOOK_SECRET`, or `BACKEND_SIGNING_SECRET` configuration is absent. | | ||
| | Toolchain drift made demo automation less reproducible | Improved | Node 22 is pinned via `.nvmrc`; demo validation workflow pins Bun for media script execution. | | ||
| | Dependency update PRs include major-version migration risk | Open | PR #92 and PR #93 should not merge as-is. | | ||
|
|
||
| ## P2 findings / non-blockers | ||
|
|
||
| - Polished screenshots/video require a Playwright browser-capable environment. | ||
| - Docker build/run validation still needs a Docker-capable environment. | ||
| - Real remediation loop maturity remains future/pilot work. | ||
| - Major dependency upgrades should be split and migrated deliberately. | ||
|
|
||
| ## Dependabot PR triage | ||
|
|
||
| ### PR #92 — production dependency group | ||
|
|
||
| Recommendation: **do not merge as-is**. | ||
|
|
||
| Reason: `npm ci` passed, but `npm run typecheck` failed after the upgrade. The failures indicate migration work is needed, especially around Zod 4 and stricter dependency typing. Examples include Zod 4 API differences such as `ZodError.errors`, `z.string().ip()`, stricter schema calls, and unknown/object assignment issues. | ||
|
|
||
| ### PR #93 — development dependency group | ||
|
|
||
| Recommendation: **do not merge as-is**. | ||
|
|
||
| Reason: `npm ci` passed with peer warnings, but `npm run typecheck` failed on TypeScript 6 `baseUrl` deprecation. ESLint 10 and Vitest 4 should be split into smaller updates after TypeScript/config compatibility is addressed. | ||
|
|
||
| ## Demo readiness recommendation | ||
|
|
||
| Demo-ready: **yes, for controlled buyer walkthroughs**. | ||
|
|
||
| Use these guardrails: | ||
|
|
||
| - Present `/demo` and `/api/demo/*` outputs as deterministic simulated demo behavior. | ||
| - Use scenario-specific verification before demos. | ||
| - Keep remediation framed as simulated/talk-track until a real audited loop is implemented. | ||
| - Do not claim production readiness until Docker deployment, customer-selected integrations, and operational runbooks are validated in the target environment. |
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
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.
In this workflow I checked
playwright.config.ts, where the Playwright web server is still configured ascommand: 'bun run dev'; after replacing the Bun setup withactions/setup-node, no step installs Bun beforenpm run test:e2e. On a clean GitHub runner this means Playwright cannot start the app server and the E2E job fails withbunnot found before any tests run.Useful? React with 👍 / 👎.