Skip to content

Commit 3e7f46f

Browse files
committed
Sync beads: record telemetry implementation progress
1 parent 557a82b commit 3e7f46f

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

.beads/issues.jsonl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@
183183
{"id":"ge-hch.5.16.7","title":"Audit Logging \u0026 Telemetry Hooks","description":"Audit Logging \u0026 Telemetry Hooks\\n\\nShort summary: Implement integration audit logs and telemetry hook emission for observability.\\n\\nSuccess Criteria:\\n- Integration audit events emitted for proposal lifecycle stages and stored append-only (not embedded in saves by default).\\n- Telemetry events emitted conforming to telemetry schema and include PII-redaction where applicable.\\n- Operator can query integration logs by save id or player id in test harness.\\n\\nDeliverables:\\n- logging adapter to write append-only integration logs\\n- telemetry event emitters wired into hook points\\n- docs describing PII redaction and example queries\\n\\nOpen Questions:\\n- Retention and access model for integration logs (how long to keep, where to store). Recommend keeping short-term dev logs in local test harness and longer retention in external telemetry store; will coordinate with telemetry team.\\n","status":"closed","priority":1,"issue_type":"epic","assignee":"Build","created_at":"2026-01-18T17:14:20.613991773-08:00","created_by":"rgardler","updated_at":"2026-01-18T22:47:20.110458994-08:00","closed_at":"2026-01-18T22:47:20.110470044-08:00","labels":["milestone"],"dependencies":[{"issue_id":"ge-hch.5.16.7","depends_on_id":"ge-hch.5.16","type":"parent-child","created_at":"2026-01-18T17:14:20.615240667-08:00","created_by":"rgardler"},{"issue_id":"ge-hch.5.16.7","depends_on_id":"ge-hch.5.16.6","type":"blocks","created_at":"2026-01-18T17:14:21.058348541-08:00","created_by":"rgardler"}],"comments":[{"id":237,"issue_id":"ge-hch.5.16.7","author":"rgardler","text":"Audit \u0026 telemetry: basic telemetry subscriber implemented at src/runtime/subscribers/telemetry.js that logs via provided telemetry object (console in demo). Integration audit logging via persistence subscriber at src/runtime/subscribers/persistence.js (writes to .runtime_logs/integration.log). Demo persistence writes debug saves under src/.saves. Additional work: telemetry schema and PII redaction remain open. Changes in PR #180.","created_at":"2026-01-19T06:47:17Z"}]}
184184
{"id":"ge-hch.5.16.8","title":"QA, Fuzzing \u0026 E2E Tests","description":"QA, Fuzzing \u0026 E2E Tests\\n\\nShort summary: Provide unit tests, fuzzed save/load tests, and Playwright E2E smoke scenarios for mid-branch save/load and rollback.\\n\\nSuccess Criteria:\\n- Unit tests for state machine, checkpoint, and hook manager reach target coverage for new runtime modules (recommend ≥80% for these modules).\\n- Fuzz suite finds and reproduces rollback-inducing checkpoint corruptions.\\n- Playwright E2E tests: save mid-branch -\u003e reload -\u003e resume or graceful rollback pass locally.\\n\\nDeliverables:\\n- tests/unit/ for new runtime modules\\n- tests/fuzz/ harness and example failing cases captured for triage\\n- Playwright e2e test scripts and CI job suggestion notes\\n\\nOpen Questions:\\n- CI resource considerations for fuzz runs (how long to run, parallelization). Recommend short nightly fuzz runs initially; will tune based on results.\\n","status":"closed","priority":1,"issue_type":"epic","assignee":"Build","created_at":"2026-01-18T17:14:20.665062196-08:00","created_by":"rgardler","updated_at":"2026-01-18T22:47:22.183998424-08:00","closed_at":"2026-01-18T22:47:22.184011207-08:00","labels":["milestone"],"dependencies":[{"issue_id":"ge-hch.5.16.8","depends_on_id":"ge-hch.5.16","type":"parent-child","created_at":"2026-01-18T17:14:20.665714764-08:00","created_by":"rgardler"},{"issue_id":"ge-hch.5.16.8","depends_on_id":"ge-hch.5.16.7","type":"blocks","created_at":"2026-01-18T17:14:21.13016178-08:00","created_by":"rgardler"}],"comments":[{"id":238,"issue_id":"ge-hch.5.16.8","author":"rgardler","text":"QA \u0026 E2E: Unit tests for HookManager, state machine, checkpoint, and subscribers exist (tests/unit/*). Fuzz harness and Playwright E2E present; CI integration for fuzz/E2E should be configured separately. Branch ge-hch-5.16.1/reparent-to-ge-hch contains tests and demo. PR #180.","created_at":"2026-01-19T06:47:22Z"}]}
185185
{"id":"ge-hch.5.16.9","title":"Docs, Runbook \u0026 Handoff","description":"Docs, Runbook \u0026 Handoff\\n\\nShort summary: Finalize PRD updates, runtime docs, migration notes, and operator runbook for rollback and debugging.\\n\\nSuccess Criteria:\\n- Docs contain clear steps to read integration logs, force rollback in a test/dev environment, and migrate save versions.\\n- Developer docs show how to subscribe to hooks and use checkpoint API with code snippets.\\n- Handoff notes created for telemetry team and a changelog entry added to parent bead.\\n\\nDeliverables:\\n- docs/dev/runtime-hooks.md (usage examples), docs/runbook/rollback.md, migration notes in docs/dev/\\n- Handoff comment and changelog entry in parent bead\\n\\nOpen Questions:\\n- Who is the intended runbook owner for operational steps (recommend Build by default; change if you want a named owner).\\n","status":"closed","priority":1,"issue_type":"epic","assignee":"Build","created_at":"2026-01-18T17:14:20.716956186-08:00","created_by":"rgardler","updated_at":"2026-01-18T22:53:54.023531159-08:00","closed_at":"2026-01-18T22:53:54.023540693-08:00","labels":["milestone"],"dependencies":[{"issue_id":"ge-hch.5.16.9","depends_on_id":"ge-hch.5.16","type":"parent-child","created_at":"2026-01-18T17:14:20.717856366-08:00","created_by":"rgardler"},{"issue_id":"ge-hch.5.16.9","depends_on_id":"ge-hch.5.16.8","type":"blocks","created_at":"2026-01-18T17:14:21.183515324-08:00","created_by":"rgardler"}],"comments":[{"id":241,"issue_id":"ge-hch.5.16.9","author":"rgardler","text":"Docs \u0026 runbook added: docs/dev/runtime-hooks.md and docs/runbook/rollback.md created; README updated with demo testing steps. Handoff notes: recommend telemetry team owns telemetry schema/PII; created runtime-config and demo registration for persistence. Files in PR #180 on branch ge-hch-5.16.1/reparent-to-ge-hch.","created_at":"2026-01-19T06:53:49Z"}]}
186-
{"id":"ge-hch.5.17","title":"Telemetry Implementation","description":"Implement telemetry event emission and collection for observability.\n\n## Scope\n- Implement 6 telemetry event types (generation, validation, director decision, presentation, choice, outcome)\n- Event emission at each pipeline stage\n- Privacy/redaction for sensitive data\n- **Player experience change**: Minimal direct change. System now collects data enabling future improvements. Optional: player can view a \"branch history\" summary showing AI vs authored content encountered in their playthrough.\n\n## Success Criteria\n- All 6 event types emit correctly in test environment\n- Events conform to telemetry schema\n- PII redaction applied before storage\n- Events can be queried for analysis\n- Player can optionally view summary of AI branches encountered in current session\n\n## Dependencies\n- Milestone 4: Runtime Integration \u0026 Hooks (ge-hch.5.16)\n\n## Deliverables\n- `src/telemetry/` module with event emitters\n- Telemetry configuration (retention, redaction rules)\n- Example dashboard queries\n- Optional player-facing branch history view","status":"in_progress","priority":1,"issue_type":"epic","assignee":"@OpenCode","created_at":"2026-01-16T13:23:19.188194703-08:00","created_by":"rgardler","updated_at":"2026-01-19T23:06:24.135998971-08:00","labels":["milestone","stage:idea","stage:in_review"],"dependencies":[{"issue_id":"ge-hch.5.17","depends_on_id":"ge-hch.5","type":"parent-child","created_at":"2026-01-16T13:23:19.190188453-08:00","created_by":"rgardler"},{"issue_id":"ge-hch.5.17","depends_on_id":"ge-hch.5.16","type":"blocks","created_at":"2026-01-16T13:24:21.668183753-08:00","created_by":"rgardler"}],"comments":[{"id":248,"issue_id":"ge-hch.5.17","author":"@OpenCode","text":"Implemented basic telemetry module (emitter, redact, console backend). Added queryable in-memory buffer and README. Created feature branch feature/ge-hch.5.17-telemetry and pushed. Next: wire runtime hooks and emitters into src/runtime subscribers and add tests.","created_at":"2026-01-20T07:06:28Z"},{"id":249,"issue_id":"ge-hch.5.17","author":"@OpenCode","text":"Wired runtime hook subscribers to emit telemetry events (generation, presentation, pre/post checkpoint). Added NDJSON backend for dev ingestion and updated receiver to use it. Tests: unit suite passes locally. PR: https://github.com/TheWizardsCode/GEngine/pull/182","created_at":"2026-01-20T07:46:36Z"},{"id":250,"issue_id":"ge-hch.5.17","author":"@OpenCode","text":"Updated README for telemetry receiver to restore missing details and expand usage/examples. Next: add tests that verify telemetry emissions (buffer contents) and receiver ingestion (NDJSON file). Will add unit + integration tests that: 1) assert runtime hooks produce telemetry events in defaultTelemetry buffer; 2) start the receiver in a child process and POST a director_decision event, then assert events.ndjson contains the event.","created_at":"2026-01-20T07:49:34Z"},{"id":251,"issue_id":"ge-hch.5.17","author":"@OpenCode","text":"Added integration tests for telemetry emitter and receiver (NDJSON backend). README restored and expanded. PR updated: https://github.com/TheWizardsCode/GEngine/pull/182","created_at":"2026-01-20T07:50:26Z"}]}
186+
{"id":"ge-hch.5.17","title":"Telemetry Implementation","description":"Implement telemetry event emission and collection for observability.\n\n## Scope\n- Implement 6 telemetry event types (generation, validation, director decision, presentation, choice, outcome)\n- Event emission at each pipeline stage\n- Privacy/redaction for sensitive data\n- **Player experience change**: Minimal direct change. System now collects data enabling future improvements. Optional: player can view a \"branch history\" summary showing AI vs authored content encountered in their playthrough.\n\n## Success Criteria\n- All 6 event types emit correctly in test environment\n- Events conform to telemetry schema\n- PII redaction applied before storage\n- Events can be queried for analysis\n- Player can optionally view summary of AI branches encountered in current session\n\n## Dependencies\n- Milestone 4: Runtime Integration \u0026 Hooks (ge-hch.5.16)\n\n## Deliverables\n- `src/telemetry/` module with event emitters\n- Telemetry configuration (retention, redaction rules)\n- Example dashboard queries\n- Optional player-facing branch history view","status":"in_progress","priority":1,"issue_type":"epic","assignee":"@OpenCode","created_at":"2026-01-16T13:23:19.188194703-08:00","created_by":"rgardler","updated_at":"2026-01-19T23:06:24.135998971-08:00","labels":["milestone","stage:idea","stage:in_progress","stage:in_review"],"dependencies":[{"issue_id":"ge-hch.5.17","depends_on_id":"ge-hch.5","type":"parent-child","created_at":"2026-01-16T13:23:19.190188453-08:00","created_by":"rgardler"},{"issue_id":"ge-hch.5.17","depends_on_id":"ge-hch.5.16","type":"blocks","created_at":"2026-01-16T13:24:21.668183753-08:00","created_by":"rgardler"}],"comments":[{"id":248,"issue_id":"ge-hch.5.17","author":"@OpenCode","text":"Implemented basic telemetry module (emitter, redact, console backend). Added queryable in-memory buffer and README. Created feature branch feature/ge-hch.5.17-telemetry and pushed. Next: wire runtime hooks and emitters into src/runtime subscribers and add tests.","created_at":"2026-01-20T07:06:28Z"},{"id":249,"issue_id":"ge-hch.5.17","author":"@OpenCode","text":"Wired runtime hook subscribers to emit telemetry events (generation, presentation, pre/post checkpoint). Added NDJSON backend for dev ingestion and updated receiver to use it. Tests: unit suite passes locally. PR: https://github.com/TheWizardsCode/GEngine/pull/182","created_at":"2026-01-20T07:46:36Z"},{"id":250,"issue_id":"ge-hch.5.17","author":"@OpenCode","text":"Updated README for telemetry receiver to restore missing details and expand usage/examples. Next: add tests that verify telemetry emissions (buffer contents) and receiver ingestion (NDJSON file). Will add unit + integration tests that: 1) assert runtime hooks produce telemetry events in defaultTelemetry buffer; 2) start the receiver in a child process and POST a director_decision event, then assert events.ndjson contains the event.","created_at":"2026-01-20T07:49:34Z"},{"id":251,"issue_id":"ge-hch.5.17","author":"@OpenCode","text":"Added integration tests for telemetry emitter and receiver (NDJSON backend). README restored and expanded. PR updated: https://github.com/TheWizardsCode/GEngine/pull/182","created_at":"2026-01-20T07:50:26Z"},{"id":252,"issue_id":"ge-hch.5.17","author":"@OpenCode","text":"Completed acceptance criteria for ge-hch.5.17: schema validation, six event types emitted, NDJSON backend, README, and tests. PR: https://github.com/TheWizardsCode/GEngine/pull/182","created_at":"2026-01-20T07:53:26Z"}]}
187187
{"id":"ge-hch.5.18","title":"Policy \u0026 Sanitization Engine","description":"Implement the full validation pipeline with policy checks and sanitization transforms.\n\n## Scope\n- Implement policy ruleset engine (5 categories: content safety, narrative consistency, structure, format, return path)\n- Implement sanitization transforms (profanity redaction, HTML stripping, whitespace normalization)\n- Validation report generation with rule-level diagnostics\n- Replace minimal inline validator with full pipeline\n- **Player experience change**: Content quality noticeably improves. Inappropriate content blocked more reliably. Edge cases (odd formatting, encoding issues) no longer slip through. Players experience more polished AI-generated text.\n\n## Success Criteria\n- Policy engine evaluates proposals against configurable rulesets\n- Sanitization transforms are deterministic (same input → same output)\n- Validation reports conform to `validation-report.json` schema\n- Unit tests cover all policy categories and sanitization transforms\n- Player encounters no profanity, broken formatting, or encoding artifacts in AI content\n- Player experiences consistent text quality across AI branches\n\n## Dependencies\n- Milestone 5: Telemetry Implementation (ge-hch.5.17)\n\n## Deliverables\n- `src/validation/` module with policy engine and sanitizers\n- Configuration loader for policy rulesets\n- Validation report generator","status":"open","priority":1,"issue_type":"epic","assignee":"Build","created_at":"2026-01-16T13:23:30.97235286-08:00","created_by":"rgardler","updated_at":"2026-01-16T13:23:30.97235286-08:00","labels":["milestone","stage:idea"],"dependencies":[{"issue_id":"ge-hch.5.18","depends_on_id":"ge-hch.5","type":"parent-child","created_at":"2026-01-16T13:23:30.973289052-08:00","created_by":"rgardler"},{"issue_id":"ge-hch.5.18","depends_on_id":"ge-hch.5.17","type":"blocks","created_at":"2026-01-16T13:24:21.713979517-08:00","created_by":"rgardler"}]}
188188
{"id":"ge-hch.5.19","title":"Validation Test Corpus \u0026 Tuning","description":"Create a full-length test story and build test corpus to tune validation pipeline for production readiness.\n\n## Scope\n- Create new full-length story (`web/stories/test-story.ink`) with sufficient narrative variety for comprehensive testing\n- Keep `demo.ink` small for rapid playtesting\n- Create ≥100 example branch proposals for validation testing (generated against full test story)\n- Tune policy thresholds based on acceptance/rejection rates\n- Document ruleset rationale and tuning parameters\n- **Player experience change**: New full-length story available for involved testing. Better balance between safety and variety. Fewer \"good\" branches incorrectly rejected (more AI content available). Fewer \"bad\" branches incorrectly approved (higher quality). Players notice more frequent and more varied AI branch options across a complete narrative arc.\n\n## Success Criteria\n- New test story created with ≥10 scenes and varied narrative contexts\n- `demo.ink` remains small and unchanged (rapid playtesting)\n- Test corpus includes ≥100 proposals covering edge cases across the full test story\n- Validation pipeline passes ≥20 structured test cases\n- False positive rate \u003c5% on valid proposals\n- Tuning report documents threshold decisions\n- Player can experience a complete story arc in test story (beginning to end)\n- Player encounters AI branch options more frequently (reduced false rejections)\n- Player feedback indicates maintained or improved content quality\n\n## Dependencies\n- Milestone 6: Policy \u0026 Sanitization Engine (ge-hch.5.18)\n\n## Deliverables\n- New `web/stories/test-story.ink` (full-length story for testing)\n- Extended test corpus in `docs/dev/m2-schemas/examples/`\n- Validation test suite\n- Tuning report with threshold rationale","status":"open","priority":1,"issue_type":"epic","assignee":"Build","created_at":"2026-01-16T13:23:44.11356842-08:00","created_by":"rgardler","updated_at":"2026-01-16T13:23:44.11356842-08:00","labels":["milestone","stage:idea"],"dependencies":[{"issue_id":"ge-hch.5.19","depends_on_id":"ge-hch.5","type":"parent-child","created_at":"2026-01-16T13:23:44.114199912-08:00","created_by":"rgardler"},{"issue_id":"ge-hch.5.19","depends_on_id":"ge-hch.5.18","type":"blocks","created_at":"2026-01-16T13:24:21.755035562-08:00","created_by":"rgardler"}]}
189189
{"id":"ge-hch.5.2","title":"Secure: Telemetry webhook secret storage","description":"Create a bead to track securing the Discord webhook: CI secret creation, docs on local dev handling, and rotation plan.\\n\\n## Acceptance Criteria\\n- Bead documents where to store webhook (GitHub Actions secrets) and how to reference it in CI as TELEMETRY_WEBHOOK.\\n- Docs: docs/security/telemetry-webhook.md with minimal guidance.\\n","status":"closed","priority":2,"issue_type":"task","assignee":"Build","created_at":"2026-01-07T19:38:05.859182155-08:00","created_by":"rgardler","updated_at":"2026-01-16T02:09:46.733302782-08:00","closed_at":"2026-01-16T02:09:46.733302782-08:00","close_reason":"Auto-close: cleanup per status-skill","dependencies":[{"issue_id":"ge-hch.5.2","depends_on_id":"ge-hch.5","type":"parent-child","created_at":"2026-01-07T19:38:05.860089122-08:00","created_by":"rgardler"},{"issue_id":"ge-hch.5.2","depends_on_id":"ge-hch.3.1","type":"blocks","created_at":"2026-01-07T22:30:23.237557766-08:00","created_by":"rgardler"}],"comments":[{"id":168,"issue_id":"ge-hch.5.2","author":"rgardler","text":"Auto-closing per status-skill recommendation: no linked branches/PRs and not an epic. If this is incorrect, please reopen or add a comment.","created_at":"2026-01-16T10:09:46Z"}]}

0 commit comments

Comments
 (0)