Conversation
added 9 commits
June 17, 2026 00:26
…ep label) Record the considered-and-declined design (mirroring the Spoolman spool ID into FDB's user-editable instanceId via a prefix) and the rationale: instanceId is FDB's physical-tag match key; linkage is already handled by the label field + SpoolMapping. Includes the FDB 1.43-1.49 review notes (no breaking changes; MIN_FDB stays 1.33.0).
Reviewed FDB 1.43.0-1.49.0; no breaking changes for the bridge (MIN_FDB stays 1.33.0). Spoolman unchanged at 0.23.1.
…rd section header legibility
Add six dark-theme screenshots (dashboard hero, wizard matches, synced records, settings direction/policy, conflicts, OpenTag review) under docs/images/ and embed them at the relevant README sections as width-constrained, click-to-expand thumbnails. Also link the Filament DB and Spoolman names in the Why section to their upstream repos.
… tooltip/header fix
- backend/app/__init__.py bumped to 0.2.1 - CHANGELOG: rolled [Unreleased] → [0.2.1] — 2026-06-17 - README: version badge bumped + v0.2.1 What's New entry; documented archive/retire lifecycle sync - docs/prd.md: FR-20/FR-22 "not implemented" annotations synced to v0.2.1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[0.2.1] — 2026-06-17
Added
state now mirrors between Spoolman (
archived) and Filament DB (retired) in bothdirections: archiving/retiring one side flips the other, and un-archiving/un-retiring
mirrors back too (re-enabling weight sync). A new
archive_syncpolicy category(
archive_sync_direction, defaulttwo_way;archive_conflict_policy, defaultmanual)governs it from Settings → Archive / retire sync;
newest_winsis rejected (422) sincethe state is a boolean with no timestamp. The wizard import gate is preserved — unmapped
archived spools are still never auto-imported; only mapped-pair diffing includes archived
spools. The lifecycle pass runs after the weight pass, so a depleted-and-archived spool
settles its final decrement and FDB usage-log entry (and refreshes both snapshots) before
the archive bit mirrors. A one-sided flip is a clean push; only a both-sides-diverge-to-
opposite-states case queues a
cross_systemlifecycle conflict, whose human resolutionwrites the chosen state to both systems. The "Never import empties" setting was relabeled
"Skip empty & archived spools on import" to clarify it is import-only (config key unchanged).
Fixed
cell rendered "—" for purely-solid filaments (e.g. "Beige") even when the color was set and
in sync. The display value (
_mc_color) was written only by the multicolor sync pass, whichskips solid filaments, so most filaments never captured a color for display. The engine now
captures a representative display hex for every mapped filament (solid and multicolor)
each cycle. Multicolor filaments (which store
color=nullwith the real hexes insecondaryColors) also now resolve a representative hex instead of "—", and the FDB color isnormalized to the Spoolman convention so a truly in-sync color reads as matched. Existing
records self-heal on the next sync cycle.
generic_containermode is in use, the "Connected systems → Filament DB" line now breaks out real filaments and
synthetic master/container parents separately (e.g.
filaments: 37 masters: 13instead of alone
filaments: 50), so it reconciles with the rest of the bridge (which excludes masters).The Spools and Filaments dashboard sections also gained help text clarifying they are counted
independently — a filament can hold several spools, so the two totals legitimately differ and
green-but-unequal totals are not a mismatch. Master detection is now a single shared helper
(
core/masters.is_master_fdb) reused by the wizard, reconcile, and health surfaces.?HelpTip bubblewas absolutely positioned within the page flow and got cut off near the left edge and top of
the screen. It now renders in a portal with fixed positioning, flips above/below to stay in
view, and clamps horizontally so it's always fully visible. Dashboard section headers
(Spools / Filaments / Connected systems) were also made larger and higher-contrast so the
sections read as distinct blocks.
Fixes #2, fixes #3