Skip to content

lode v1.0.0

Choose a tag to compare

@github-actions github-actions released this 18 Jul 19:45
· 1919 commits to trunk since this release

lode reaches 1.0.0 — the product is built end-to-end (notes, cited Q&A, TUI + CLI,
the web connector) and now ships structured, authenticated ingest for Atlassian Cloud.

Atlassian (JIRA + Confluence Cloud) connectors (lode-gpzn)

Structured ingest for auth-fronted sources: JIRA and id-bearing Confluence Cloud links
are recognized at paste time and ingested via authenticated REST APIs (structured JSON),
instead of scraping a login page. Behind default-off, per-product feature flags.

  • Per-product feature flags + env-primary token/email credential resolution, config.toml fallback; secrets never logged (lode-gpzn.1)
  • Atlassian link detection + source_type routing + semantic external_id with a persisted API base on the external row (lode-gpzn.2)
  • Connector-neutral HTTP fetch-outcome classifier + source_type-generic dead-letter hook, reused by the web and Atlassian paths (lode-gpzn.13)
  • JIRA Cloud fetch unit: REST v3 issue → structured snapshot, paginated comments, rendered-HTML body (lode-gpzn.3)
  • Confluence Cloud fetch unit: REST page (body.view) → structured snapshot (lode-gpzn.4)
  • Work-pass error visibility: API/auth failures name the source and reason (e.g. http_401) and tombstone per taxonomy, token never printed (lode-gpzn.5)
  • Per-connector re-draw-down backfill framework (CLI lode backfill, --dry-run/--list/--retry-tombstoned) (lode-gpzn.9)
  • JIRA backfill: migrate pre-existing URL-keyed JIRA links to the semantic-key connector, idempotent (lode-gpzn.10)
  • Confluence backfill: same for pre-existing Confluence links (lode-gpzn.11)
  • Offline fixture coverage + documented manual live-test procedure (lode-gpzn.6)
  • Design docs: Atlassian connector section (externals.md) + resolved/deferred decisions (decisions.md) (lode-gpzn.7)
  • Doc-truth pass: docs now say the product is built end-to-end (lode-gpzn.8)

Connector plumbing landed alongside the epic:

  • Wire the JIRA + Confluence fetch units into refresh_external's dispatcher (lode-mfts)
  • Dedup the JIRA/Confluence refresh legs into one parameterized _refresh_atlassian (lode-40zj)
  • Extract the shared httpx fetch/classify ladder reused by web + Atlassian fetchers (lode-88iv)
  • Crash-reclaim dead-letter path now logs the per-job source name (lode-ympb)

Fixes

  • Immediate-enrich clock-domain fix: enqueue_derive_jobs stamps next_attempt_at from the ratcheted queue clock, not the raw SQLite DEFAULT — resolves an xdist flake (lode-0dnk)
  • Surface tombstone_reason in the web leg's lode work outcome line, mirroring the Atlassian pattern (lode-pmx0)

Internal / workflow

  • /code orchestrator claims resolved tickets before dispatch (lode-xr8v)
  • Statusline improvements (no bd ticket): /usage 5h + 7d rate-limit meters, token meter measures used tokens, model-class truncation, dropped fetch_part
  • Reduce pip version warnings in the env init path