Skip to content

agent/fix obsidian publishing - #3

Merged
zorvan merged 3 commits into
mainfrom
agent/fix-obsidian-publishing
Aug 4, 2026
Merged

agent/fix obsidian publishing#3
zorvan merged 3 commits into
mainfrom
agent/fix-obsidian-publishing

Conversation

@zorvan

@zorvan zorvan commented Aug 4, 2026

Copy link
Copy Markdown
Owner
  • Fix Obsidian release publishing
  • Fix the prefer-create-el publisher warnings and the lint gap that hid them
  • Implement v0.5.0: persistent topology
  • version 0.5.0 is ready : The plugin reveals which topological features persist, provides inspectable cycle witnesses, and ranks writing prompts with disclosed evidence. Persistent homology over F_2, barcode/diagram, representative cycles, uncertainty, worker execution.

zorvan and others added 3 commits August 4, 2026 21:55
… them

The community-plugin review reported 68 obsidianmd/prefer-create-el
warnings, but check:publisher was green. The config spread
`obsidianmd.configs.recommended[0].rules`, and that plugin ships
`recommended` as a flat-config array whose first entry is only the
core-ESLint slice. Every obsidianmd/* rule was silently off.

Collect the obsidianmd rules across the whole recommended array, and
upgrade eslint-plugin-obsidianmd 0.2.4 -> 0.4.1, which is where
prefer-create-el was added. The rule wants the tag-specific shorthands
for the two tags that have them, so the 68 createEl("div") and
createEl("span") calls become createDiv() and createSpan().

Enabling the rule set also surfaced ui/sentence-case. One was genuine
("Computation-intensive Ambient rendering"). The rest ask to lowercase
acronyms and the pronoun I, or misread the leading glyph in
"◇ Record encounter" as the first word; those are suppressed with a
stated reason each.

Two regression tests: the source scan now also catches
createEl("div"|"span"), and a new test asserts the lint config actually
enables the obsidianmd rules, which is the gap that let this ship.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Implements WORKER-00 and PH-01…PH-09 from
docs/V3/v0.4.5-v0.5.0-implementation-plan.md. v0.4.5 made the numbers
correct; this makes them answerable — which shapes survive as the
evidence threshold moves, which notes carry one of them, how stable that
is, and why it ranked where it did.

Two decisions §11 requires before any 0.5.0 ticket, now recorded:
mobile stays supported, so the PH-04 ceilings are the mobile ones; and
the full-vault canvas is the cycle-highlight target, reached only
through a one-method CycleHighlightTarget seam so a later DV-01
projection takes over by implementing it rather than by a rewrite.

Engine (PH-01…PH-03): one total order in which every face precedes its
cofaces, repairing by delaying the coface rather than advancing the
face — advancing would invent evidence the user never supplied, and
every repair is reported. Standard left-to-right F2 column reduction;
births and deaths come from the matrix pairing, never from inspecting
the complex at sampled thresholds. Witnesses are verified by
recomputing boundary z over F2, not asserted, and are labelled
non-canonical and non-minimal because they are.

Worker (WORKER-00, PH-04): Obsidian installs only main.js, styles.css
and manifest.json, so the worker is a separate esbuild pass inlined as
a string and started from a Blob URL, asserted present by verify.mjs
and CI. Cancellation returns to the event loop between column batches
rather than only polling a flag — a worker has one thread, so while a
synchronous loop runs no cancel message can be dequeued for it to
observe. Yielding is gated on elapsed time, so a short reduction pays
nothing.

Surfaces (PH-05…PH-08): barcode and diagram with provenance stated on
screen; birth/death markers in their own slider lane, read from the
same pairing the barcode draws, so the two cannot disagree; opt-in
seeded bootstrap reported as empirical stability and never as a
confidence band; ranked 1-dimensional gaps emitting the shared
DiscoveryExplanation record, which this plan reaches first and
therefore owns per §13.3.

Also fixes pre-existing drift: scripts/verify.mjs claimed to mirror
ci.yml step for step while the benchmarks ran only locally.

Benchmarks pass with wide margin (10k nodes reduce in ~10ms against a
2500ms budget), so §4.5's WASM-00 spike stays closed.

Not verified here: the clean-install check that new Worker(blobURL) is
permitted by a given Electron build or mobile webview. That is a
property of the host, not of this code, and needs a real install.
tests/worker-client.test.ts covers everything on this side of that
line — blob construction, protocol round-trip, restart, URL cleanup,
and both fallback paths.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…s persist, provides inspectable cycle witnesses, and ranks writing prompts with disclosed evidence. Persistent homology over F_2, barcode/diagram, representative cycles, uncertainty, worker execution.
@zorvan
zorvan merged commit c1155dd into main Aug 4, 2026
4 checks passed
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