Skip to main content
← Back to list
01Issue
FeatureShippedSwamp CLI
Assigneesstack72

#271 W3 sourceToRow writes empty source_mtime — should carry filesystem mtime through Source entity

Opened by stack72 · 5/6/2026· Shipped 5/8/2026

extension_repository.ts:647 sourceToRow() hardcodes source_mtime to empty string. The Source domain entity doesn't carry mtime. source_mtime is informational (not load-bearing for freshness — fingerprint governs staleness) but should reflect the actual file mtime for external tool observability. Surfaced during #265 triage. Defer to post-W4 when KindAdapter consolidates the persistence layer and can add sourceMtime to the unified Source type.

02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 3 MOREPR_MERGEDSHIPPED

Shipped

5/8/2026, 3:23:40 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack725/8/2026, 12:52:55 PM
Editable. Press Enter to edit.

stack72 commented 5/6/2026, 9:48:35 PM

Routing note for whoever picks this up.

This tracker was filed during #265 plan verification — the W3 plan deferred handling of source_mtime carrying through the Source entity (currently sourceToRow writes empty mtime; the field is informational, not load-bearing for freshness detection which uses content fingerprint per W3).

Two reasonable homes:

  1. Fold into W6 (swamp doctor extensions aggregate-state rendering, not yet filed). If doctor extensions surfaces "last modified at" or "file age" info per source, the Source entity needs to carry filesystem mtime end-to-end. Natural fit. W6's planning agent should grep this issue and absorb if the rendering surface includes mtime-derived columns.

  2. Standalone follow-up PR anytime. The fix is small — pipe the filesystem mtime through makeSource(...) callsites and ensure sourceToRow writes it to the catalog. ~50-100 LOC. Could land in any sprint without depending on later workstreams.

No urgency. Unlike #270 (which has a clear W4 home and clear architectural-debt impact), #271 is enrichment of an informational catalog field. Defers cleanly until either W6 lands or someone has a quiet hour. Mention in W6's issue body when filed; otherwise let it sit as a tracker.

Not appropriate for W4 or W5 — W4's scope is loader unification, W5's is per-fingerprint URLs. Neither touches the Source entity's data model, so folding mtime work in there would be scope creep.

Sign in to post a ripple.