Skip to content

duhem 0.1.1

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Jul 09:44
676817f

What's Changed

  • Add Claude Code skills for the Duhem repo by @tikazyq in #1
  • Replace stub README with a minimal landing doc by @tikazyq in #2
  • Add CLAUDE.md system prompt with Onsager dogfood orientation by @tikazyq in #4
  • docs(skills): stop hard-wrapping prose in spec issue bodies by @tikazyq in #6
  • feat(infra): scaffold Cargo workspace, toolchain, and CI baseline by @tikazyq in #7
  • feat(schema): Verification Definition v0.1 types + chumsky expression AST by @tikazyq in #13
  • feat(actions): ui/* v1 minimal slice — navigate, click, assert-element by @tikazyq in #14
  • feat(judge): three-state verdict aggregation v1 by @tikazyq in #16
  • feat(evidence): append-only run trace v1 by @tikazyq in #18
  • feat(runtime): expression evaluator v1 by @tikazyq in #17
  • feat(runtime): minimal step executor by @tikazyq in #19
  • feat(schema,cli): typed input catalog by @tikazyq in #24
  • feat(actions): api/* v1 minimal slice — api/call by @tikazyq in #25
  • feat(runtime): setup-step ordering (#20) by @tikazyq in #26
  • chore(skills): install plan-dag from onsager-ai/onsager-skills by @tikazyq in #27
  • chore(skills): sync plan-dag from onsager-skills by @tikazyq in #28
  • chore(skills): sync plan-dag from onsager-skills by @tikazyq in #29
  • issue-spec: sync abstract skill from onsager-skills by @tikazyq in #30
  • chore(skills): sync plan-dag PNG target from onsager-skills by @tikazyq in #31
  • chore(skills): sync plan-dag visual encoding from onsager-skills by @tikazyq in #32
  • chore(skills): sync plan-dag SVG/HTML targets from onsager-skills by @tikazyq in #39
  • feat(cli): duhem run flags — filter, headed, evidence-dir, reporter by @tikazyq in #40
  • feat(actions): ui/* rest-of-slice — type, select, assert-url, assert-state by @tikazyq in #41
  • feat(cli): duhem run flags — inputs-file, dry-run, seed (#33) by @tikazyq in #42
  • feat(cli): reporter plugins — RunSummary contract + subprocess loader (#34) by @tikazyq in #43
  • chore(skills): sync plan-dag from onsager-skills (PNG-only renderer) by @tikazyq in #45
  • feat(actions): api/observe — passive HTTP observation via Playwright (#38) by @tikazyq in #44
  • spec(dogfood): first Onsager Verification Definition — create-project flow by @tikazyq in #46
  • feat(integration): duhem/run composite action + dogfood workflow by @tikazyq in #47
  • chore(skills): sync plan-dag from onsager-skills by @tikazyq in #55
  • chore: consolidate dev skills into onsager-ai/dev-skills by @tikazyq in #56
  • chore: install onsager-ai/dev-skills on SessionStart in cloud by @tikazyq in #57
  • feat(schema,docs): formalize schema versioning discipline by @tikazyq in #59
  • feat(cli): duhem init — scaffold a Verification Definition skeleton (#48) by @tikazyq in #58
  • feat(cli,schema): root manifest loader — multi-leaf duhem run by @tikazyq in #60
  • feat(runtime,schema): environment provisioning v1 — up: / down: hooks by @tikazyq in #61
  • docs: Phase 0 status sync across README, CLAUDE.md, dev-process, justfile, spec §14, Appendix D by @tikazyq in #65
  • chore(skills): retire draft/planned/in-progress spec status labels by @tikazyq in #64
  • refactor(actions,runtime): drive ui/* via official Playwright sidecar by @tikazyq in #73
  • feat(actions): restore api/observe on the Playwright sidecar (#72) by @tikazyq in #74
  • fix(actions): emit valid internal:has-text for Locator text (#75) by @tikazyq in #76
  • ci: run ui/* + api/observe smoke in a Chromium lane (#77) by @tikazyq in #78
  • feat(dogfood): retire create-project VD, target the spec-plan flow by @tikazyq in #80
  • fix(dogfood): seed workflow with a UUID node id; confirm the seam live by @tikazyq in #81
  • feat(actions): operator-pluggable sidecar browser; dogfood runs green live by @tikazyq in #83
  • feat(dashboard): web dashboard MVP + live streaming — JSON API, SPA, CLI/export, SSE by @tikazyq in #88
  • docs(skills): pre-push sync — name the real recipes, drop Phase-0 framing by @tikazyq in #89
  • docs(spec): §10–§11 audit clarifying bundle — true six prose claims to code by @tikazyq in #96
  • refactor(skills): migrate to global pre-push / pr-lifecycle by @tikazyq in #98
  • feat(dogfood): Arbor create-and-ship-app VD — proven green live by @tikazyq in #103
  • feat(judge): nested JSON navigation in path references by @tikazyq in #106
  • feat(actions): cli/invoke — run a command, capture exit/stdout/stderr by @tikazyq in #107
  • feat(actions): db/query + db/seed — assert and seed real SQL state by @tikazyq in #108
  • fix(actions): sidecar auto-discovers an installed Chromium by @tikazyq in #109
  • feat(dogfood): Crawlab create-project VD + env-script spawn fix by @tikazyq in #112
  • feat(dogfood): Crawlab UI sign-in + dashboard VD (Vue surface) by @tikazyq in #114
  • feat(actions): api/poll — poll an endpoint until a response condition holds by @tikazyq in #116
  • feat(runtime): $runtime.format — compose values (dynamic URLs) without scripting by @tikazyq in #118
  • feat(runtime): more pure $runtime helpers — concat/len/lower/upper/trim/replace/default by @tikazyq in #120
  • feat(actions): db/query — MongoDB read path (#121) by @tikazyq in #122
  • feat(dogfood): Crawlab spider→task scheduling lifecycle VD (#123) by @tikazyq in #124
  • feat(cli): validate accepts a VD directory (#125) by @tikazyq in #126
  • feat(reporter): surface which assertion failed (#125) by @tikazyq in #128
  • feat(runtime): skip the browser for page-free verifications (#125) by @tikazyq in #127
  • feat(dx): complete + harden the DX pass (#129) by @tikazyq in #130
  • feat(schema): manifest-level shared environment — provision a suite once (#131) by @tikazyq in #132
  • feat(schema): publish a JSON Schema for VD + manifest YAML (schemars) by @tikazyq in #136
  • feat(schema): validate scans with: payloads — bare missing refs hard-fail by @tikazyq in #137
  • feat(schema): manifest environments: block + CLI --environment (#68) by @tikazyq in #138
  • feat(schema): leaf inputs inherit from the manifest via inherits: (#135) by @tikazyq in #139
  • feat(cli): manifest discovery — ancestor walk, .duhem.yml alias, -f override (#69) by @tikazyq in #140
  • feat(schema): root manifest defaults: block — timeout/inconclusive/retry (#66) by @tikazyq in #142
  • feat(schema): root manifest includes: block — shared + local composition (#67) by @tikazyq in #141
  • docs(license): relicense to Apache-2.0; open-source posture by @tikazyq in #144
  • docs(readme): public README + CONTRIBUTING for the OSS release by @tikazyq in #146
  • ci(release): npm + GitHub Releases distribution pipeline for the duhem CLI by @tikazyq in #145
  • docs(release): cut v0.1.0 CHANGELOG section by @tikazyq in #147
  • test(dogfood): duhem-cli regression VD via cli/invoke by @tikazyq in #149
  • test(dogfood): duhem-dashboard regression VD via ui/* + api/* (part of #148) by @tikazyq in #152
  • feat(cli)!: prune run flags — drop --seed/--headed, fold --inputs-file into --inputs @file (#151) by @tikazyq in #154
  • feat(cli): --dry-run prints resolved input values (#155) by @tikazyq in #156
  • feat(actions): api/stream — follow an SSE stream for mechanical assertion (#153) by @tikazyq in #157
  • feat(cli): validate understands manifests, not just leaves (#150) by @tikazyq in #158
  • docs(spec): true §10/§11 to shipped code — audit #90-95 by @tikazyq in #159
  • docs(spec): §14 — ten crates incl duhem-dashboard by @tikazyq in #161
  • docs(spec): finish OSS relicense — §5 Positioning + decisions table by @tikazyq in #162
  • refactor: rename product Arbor → Chreode repo-wide (part of #163) by @tikazyq in #164
  • refactor(chreode): rebrand VD internals to chreode by @tikazyq in #165
  • test(crawlab): regression suite P0 — licensed cluster env + auth/token slice (Part of #160) by @tikazyq in #166
  • feat(crawlab): select cluster image via DUHEM_CRAWLAB_IMAGE by @tikazyq in #168
  • feat(actions): db/query coerces hex strings to ObjectId for Mongo _id filters by @tikazyq in #174
  • feat(judge): $runtime.contains/any array-membership helpers by @tikazyq in #175
  • feat(actions): api/call optional query: param mapping (#172) by @tikazyq in #176
  • fix(schema): regenerate stale duhem.schema.json by @tikazyq in #177
  • test(crawlab): regression API batch 1 — spider + task leaves (part of #160) by @tikazyq in #169
  • test(crawlab): regression API batch 2 — admin/management leaves (part of #160) by @tikazyq in #170
  • fix(crawlab): roles leaf — assert real model fields; update non-admin role (#180) by @tikazyq in #182
  • feat(actions): db/observe — poll a DB query until rows settle (#181) by @tikazyq in #183
  • fix(judge): exists() false on missing field; crawlab PATCH leaves use data wrapper by @tikazyq in #178
  • test(crawlab): spiders AC-3.1 reads back after settle via db/observe (#181) by @tikazyq in #185
  • refactor(crawlab): spiders AC-3.1 asserts partial-PATCH invariant crisply by @tikazyq in #187
  • feat(evidence): Store trait + SqliteStore — the DB single source of truth (#189) by @tikazyq in #195
  • feat(evidence): scoping + provenance schema — verifier VERIFIES target (#190) by @tikazyq in #196
  • feat(schema,integration): first-class target identity — project: field + resolution ladder (#191) by @tikazyq in #197
  • feat(schema,evidence): spans.layer trace tags — honest delivery-web evidence (#192) by @tikazyq in #198
  • feat(dashboard): cross-run views — VD-over-time, failure-first run, delivery-web span (#193) by @tikazyq in #199
  • feat(evidence,integration): run-bundle wire format + ingest client — the hub seam, OSS half (#194) by @tikazyq in #200
  • ci: ship VD run bundles to the hub from dogfood + self-verify by @tikazyq in #201
  • feat(actions): failure-evidence capture — screenshot + DOM on ui/* checks (#202) by @tikazyq in #203
  • feat(actions): network HAR tail capture on ui/* failure (#204) by @tikazyq in #205
  • feat(dashboard): human-readable check evidence (#206) by @tikazyq in #207
  • feat(dashboard): in-page artifact inspection — HAR expand, DOM viewer, step grouping (#210) by @tikazyq in #217
  • feat(dashboard): run-to-run diff API — last-pass baseline (#211) by @tikazyq in #219
  • feat(dashboard): regression diff view + screenshot visual diff (#212, #213) by @tikazyq in #220
  • feat(actions,dashboard): element-highlight on the failure screenshot (#214) by @tikazyq in #221
  • feat(dashboard): agent failure envelope (#216) by @tikazyq in #222
  • feat(actions,dashboard): video recording capture (#215) by @tikazyq in #223
  • chore(release): cut v0.1.1 by @tikazyq in #224

New Contributors

Full Changelog: https://github.com/onsager-ai/duhem/commits/v0.1.1