~bigbes/sr-ht-spec · parade

main · last commit 18 hours ago · 8tmadfpi

← Back to the parade

spec-by6.5 prosediff: an equal span's Space flag is read from the old side only Past Stand

status: closed P3 bug
bd reopen spec-by6.5
Created byEugene Blikh
Ownerbigbes@gmail.com
Created2026-08-05T01:10:14Z
Updated2026-08-05T01:23:07Z
Closed2026-08-05T01:23:07Z
Description
prosediff/token.go:207, spans(): Span.Space is taken from toks[0].Space, and for an equal run those tokens come from the OLD side. An insertion at the head of a block therefore emits

  op=insert space=false text="w16 w17"
  op=equal  space=false text="w12 w13"

and any renderer joining the script writes the two runs together with no space: {+w16 w17+}w12 w13.

Not reachable from the web layer today — the new side's separator is simply not in the data the web layer is handed, and web/diffrows.go's sideSpans already carries a dropped span's separator onto the next kept one for the region rows. It affected the old block-card renderer identically, so it is not a regression from the line-numbered diff port (spec-by6.3.5).

Fix shape: OR the two sides' leading-token flags when building an equal span. Found by the property test added in web/diffrows_test.go, which is deliberately blind to spacing (it compares nonce word sequences) and says so.

Depends on

  • spec-by6 — Phase 5: comments, webhooks, mutations, vector search parent-child open

Depended on by

Nothing depends on this issue.

Prerequisite chain — everything this waits on, transitively

  • spec-by6 — Phase 5: comments, webhooks, mutations, vector search parent-child open
  • spec-3vz — Phase 4: review plane — approve/reject in a browser blocks closed
  • spec-ejq — spec.sr.ht — reviewable document storage for humans and agents parent-child open
  • spec-zqb — Phase 3: write plane — agents propose blocks closed

No comments.

Close reason

Closed
  • Eugene Blikh added under epic spec-by6 · 2026-08-05T04:10:14Z
  • Eugene Blikh created the issue · 2026-08-05T04:10:14Z
  • Eugene Blikh closed the issue · 2026-08-05T04:23:06Z
    Closed
Stored rows — what this pane was built from, as read
issues 1 row
id spec-by6.5
content_hash f1d4f50c278ff396379d8a4149912af433b40b1b503afbd90a47ce42c3a7115c
title prosediff: an equal span's Space flag is read from the old side only
description prosediff/token.go:207, spans(): Span.Space is taken from toks[0].Space, and for an equal run those tokens come from the OLD side. An insertion at the head of a block therefore emits op=insert space=false text="w16 w17" op=equal space=false text="w12 w13" and any renderer joining the script writes the two runs together with no space: {+w16 w17+}w12 w13. Not reachable from the web layer today — the new side's separator is simply not in the data the web layer is handed, and web/diffrows.go's sideSpans already carries a dropped span's separator onto the next kept one for the region rows. It affected the old block-card renderer identically, so it is not a regression from the line-numbered diff port (spec-by6.3.5). Fix shape: OR the two sides' leading-token flags when building an equal span. Found by the property test added in web/diffrows_test.go, which is deliberately blind to spacing (it compares nonce word sequences) and says so.
design
acceptance_criteria
notes
status closed
priority 3
issue_type bug
assignee NULL
estimated_minutes NULL
created_at 2026-08-05T01:10:14Z
created_by Eugene Blikh
owner bigbes@gmail.com
updated_at 2026-08-05T01:23:07Z
closed_at 2026-08-05T01:23:07Z
closed_by_session
external_ref NULL
spec_id
compaction_level 0
compacted_at NULL
compacted_at_commit NULL
original_size NULL
sender
ephemeral 0
wisp_type
pinned 0
is_template 0
mol_type
work_type
source_system
metadata �{}
source_repo
close_reason Closed
event_kind
actor
target
payload
await_type
await_id
timeout_ns 0
waiters
hook_bead
role_bead
agent_state
last_activity NULL
role_type
rig
due_at NULL
defer_until NULL
no_history 0
started_at NULL
is_blocked 0
dependencies 1 row
id beebe75e-6a53-55d0-adc9-a15e17e873d0
issue_id spec-by6.5
type parent-child
created_at 2026-08-05T04:10:14Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id spec-by6
depends_on_wisp_id NULL
depends_on_external NULL
events 2 rows
id 019fcf78-95f1-756a-8df8-b30a581fbdc2
issue_id spec-by6.5
event_type created
actor Eugene Blikh
old_value
new_value
comment NULL
created_at 2026-08-05T04:10:14Z
id 019fcf84-5f2f-7c77-84e3-c66b4e77685c
issue_id spec-by6.5
event_type closed
actor Eugene Blikh
old_value
new_value Closed
comment NULL
created_at 2026-08-05T04:23:06Z