Legend:
- done
- open
This checklist tracks the remaining work to fully satisfy SPEC.md for the kernel, DevTools, and raw mode before moving on to OTEL.
-
SPEC.mdupdated to reflect the dataset-kernel direction -
SPEC.mdupdated with presentation/runtime-first guidance (pretty,table, manual string building) -
SPEC.mdupdated with a pre-OTEL hardening gate -
SPEC_CHECKLIST.mdcreated -
README.mdupdated to match the new runtime/kernel architecture - agent-facing docs/examples updated to teach
ds,pretty,table, and manual string building
- source-driver interface exists
- dataset session/kernel exists
- stable
dsquery root exists - lazy layer host exists
- generic Node HTTP server + custom router exists
- bundled build outputs exist via
esbuild - basic artifact/file/workspace subsystem exists
- generic schema/tables/reports/artifacts/exports routes exist
- layer status inspection exists
- global/shared CAS exists
- multi-dataset composition exists
-
ds.reports.run(name, args)exists -
ds.tables.get(name).rows()exists -
ds.tables.get(name).count()exists -
ds.schema.paths()exists -
ds.schema.samples(path)exists -
ds.tables.get(name)returns a chainable query builder/handle - formal table query plan exists (
select/where/orderBy/offset/limit) - filtered count uses the same query-plan surface
- provider pushdown hook exists for direct table-plan execution
- JS fallback plan execution is implemented for all tables
- global
pretty(value)exists in the query runtime - global
table(value)exists in the query runtime - table query handles expose
.pretty() - table query handles expose
.table() - report handles/bound invocations expose
.pretty() - CLI/runtime share the same presentation helpers instead of duplicating formatting logic
- presentation output is documented and stable enough for agent workflows
- basic provenance exists in some derived DevTools outputs
- normalized provenance contract exists across major rows/reports
- facts/dims/views/reports consistently expose provenance or provenance refs
- layer metadata includes dependency keys and size estimates where feasible
- layer eviction exists
- layer pin/unpin exists
- export/materialization lease release exists
- workspace cleanup policy exists (TTL and/or quotas)
- operator-visible status explains retained vs evicted layers/exports
- workspace/export lifecycle is considered production-real, not aspirational
- raw DevTools loading exists
- raw event access exists
- threads dimension exists
- requests dimension exists
- screenshots dimension exists
- interactions dimension exists
- scripts dimension exists
- source maps dimension exists
- original sources dimension exists
- layout shifts dimension exists (basic)
- soft navigations dimension exists (basic)
- processes dimension exists
- frames dimension exists
- workers dimension exists
- compositor/layer-related dimensions exist where supported by the trace
- tasks dimension is explicit and complete rather than only task-like derived views
- event-centric raw/fact access exists at a basic level
- explicit instant-event facts exist
- explicit slice-event facts exist
- explicit async/flow facts exist
- CPU sample facts exist
- object-lifecycle facts exist where useful
- reusable indexes by name/category/phase/thread exist
- reusable indexes by request ID/script ID/interaction ID/frame sequence/node ID/url exist
- render measures view exists
- frame pipeline view exists (basic)
- main-thread tasks view exists (basic)
- code hotspots view exists
- CPU hotspots view exists (basic aggregation)
- interaction windows view exists
- visual changes view exists
-
devtools.summaryreport exists -
devtools.interactionreport exists -
devtools.framereport exists -
devtools.requestreport exists -
devtools.scriptreport exists -
devtools.soft-navigationreport exists -
devtools.hotspotsreport exists - render-measure aggregate-by-component views are complete
- render-measure scoped views by interaction/window are complete
- network waterfall view exists
- frame pipeline stage timing extraction is richer than state-level summaries
- interaction/task/frame/request cross-correlation is complete enough to avoid bespoke agent joins
- major DevTools reports have first-class readable renderers
- CPU hotspot aggregation exists
-
ProfileChunkstreams are decoded into normalized CPU sample facts - CPU node/frame dimensions are canonicalized
- self time vs total time semantics are implemented
- folded-stack / call-tree derived views exist
- CPU timeline buckets exist
- interaction-scoped CPU hotspot views exist
- task-scoped CPU hotspot views exist
- CPU attribution through scripts/source maps/sources is robust
- request lifecycle correlation exists
- request timing/protocol/header metadata exists at a useful level
- screenshots export collection exists
- scripts export collection exists
- source maps export collection exists
- original sources export collection exists
- network response/request bodies are exposed as artifacts when present
-
devtools.network-bodiescollection exists - request ↔ body linkage is explicit
- request ↔ interaction / visual-change correlation is stronger
- layout shift rows exist
- soft navigation rows exist
- clustered layout-shift entities exist
- impacted nodes/rects are normalized
- soft-navigation task linkage exists
- layout/soft-navigation relation to interactions/frames/screenshots is complete enough for first-class investigation
- raw JSON driver exists
- raw summary report exists
- path cataloging exists
- path samples exist
- time-field detection exists
- shallow inferred tables exist
- embedded blob extraction exists (basic)
- raw document export exists
- embedded blob export collection exists
- nested-array inferred tables exist
- path-based inferred-table naming is stable and well-specified
- richer type summaries/path stats exist
- wrapper-object blob detection exists
- byte-array blob detection exists
- gzip/base64 text-or-JSON blob detection exists
- media sniffing from magic bytes exists
- blob confidence scoring exists
- richer blob metadata and export manifests exist
- raw summary/path catalogs have first-class readable renderers
- query builder / pushdown-ready table plan is complete
- presentation layer is complete enough for agent workflows
- provenance normalization is complete enough to be relied upon broadly
- layer/workspace lifecycle basics are complete enough to operate confidently
- DevTools completion criteria are met
- raw-mode completion criteria are met
- README/examples/agent docs match the real runtime surface
- OTEL driver
- relations/edges pack
- global CAS / content-addressed blob store
- multi-dataset composition
- Sentry driver
- bundle-analysis driver on the new architecture
- vite-bundle-analyzer JSON driver exists
- Next.js Turbopack bundle analyzer directory driver exists
- bundle analysis tables / views / reports are documented in the trace-server skill