Skip to content

chore(observability): adopt traceId on critical UI actions + harden CI workflows#456

Merged
d-oit merged 4 commits into
mainfrom
feat/goap-068-swarm-open-issues
Jun 6, 2026
Merged

chore(observability): adopt traceId on critical UI actions + harden CI workflows#456
d-oit merged 4 commits into
mainfrom
feat/goap-068-swarm-open-issues

Conversation

@d-oit
Copy link
Copy Markdown
Owner

@d-oit d-oit commented Jun 6, 2026

Phase 0 of GOAP plan 068. Closes issues #439, #441.

  • ci(workflows): guarantee exec bit on actionlint/zizmor (CI failure on main: 27003766438 #439)
    Fixes the intermittent Permission denied failure on main (root cause: pip/curl installs into ~/.local/bin drop the exec bit). The validate-workflows.sh now re-chmods the resolved binary before each use.

  • feat(web): adopt traceId on critical UI failure paths (CI failure on main: 27051074721 #441)
    Raw console.* on auth, EPUB load, progress sync, and service-worker registration now go through logClientEvent with a traceId/spanId, satisfying the AGENTS.md TIER 1 'emit traceId on every critical UI action' rule. Reuses the existing logClientEvent contract.

  • docs(plans): add plans 066, 067, 068 — comprehensive analysis, observability/CI ADR, and the swarm plan to close all open issues.

All changes verified by the full quality gate (lint + typecheck + 290 reader-core tests + 264 web tests + build + e2e smoke).

d-oit added 4 commits June 6, 2026 09:57
Convert raw console.* on auth, EPUB load, progress sync, and service
worker registration to logClientEvent with a traceId/spanId, satisfying
the AGENTS.md TIER 1 rule 'emit traceId on every critical UI action'.

Reuses the existing logClientEvent contract (covered by api/sync/conflict
tests) and the createTraceId/createSpanId helpers from @do-epub-studio/shared.

Files: ReaderPage.tsx (annotations fetch, logout), useReaderEpub.ts (EPUB
init, progress load/save), main.tsx (service-worker registration,
background sync).

Ref: plans/066-goap-comprehensive-analysis-2026-06-05.md
Plans 066 (analysis) and 067 (ADR) document the two evidence-backed
gaps surfaced by the latest comprehensive survey: CI tooling exec-bit
fragility and partial client observability. Companion to the fixes in
the prior two commits.

ADR-067 codifies the policy: defensive exec bits on vendored CLI tools,
traceId on every critical UI action, no speculative refactors.
Plan 068 orchestrates resolution of the 15 open issues (#439-#454) and
the codacy-flagged PR #440 via a hybrid+swarm strategy. Phase 0 commits
the in-tree fixes; Phase 1 hardens PR #440 sanitizer; Phases 2-3 fan
out DX scaffolding/hygiene work; Phase 4 synthesizes the ADR and PRs.
@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying do-epub-studio with  Cloudflare Pages  Cloudflare Pages

Latest commit: 267748d
Status: ✅  Deploy successful!
Preview URL: https://945c189e.do-epub-studio.pages.dev
Branch Preview URL: https://feat-goap-068-swarm-open-iss.do-epub-studio.pages.dev

View logs

@codacy-production
Copy link
Copy Markdown
Contributor

codacy-production Bot commented Jun 6, 2026

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 7 complexity · 0 duplication

Metric Results
Complexity 7
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 6, 2026

🚀 Performance Report

⚡ Startup & Interaction

Metric Value (ms) Limit (ms) Trend Status
First Contentful Paint 212.00 1500 -
Chapter Switch Latency 0.00 300 -
Offline Rehydrate Time 217.30 800 -
DOM Interactive 24.90 - - -
Load Event End 137.10 - - -

🛠️ CI & Workflow

Metric Value Limit Status
Total CI Duration 5.05 min 15.00 min
Pnpm Cache Hit Hit -

@d-oit d-oit merged commit f74c759 into main Jun 6, 2026
20 checks passed
@d-oit d-oit deleted the feat/goap-068-swarm-open-issues branch June 6, 2026 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant