Skip to content

Daxis 0.2.0: Source control - #6

Merged
AFetisa merged 5 commits into
mainfrom
feature/source-control
Oct 1, 2026
Merged

AFetisa merged 5 commits into
mainfrom
feature/source-control

Conversation

@AFetisa

@AFetisa AFetisa commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Daxis 0.2.0: Source control

A new Source control tab that drives Fabric's own Git integration across every workspace you can see.

What's in it

  • Scan: Git connection, repo, folder and branch per workspace, grouped by repo + folder or listed A–Z by workspace. Branch workspaces and their source, and workspaces sharing one branch.
  • Freshness: stale after 7 days without a sync. Needs attention after 30 days, when never initialised, or with conflicts.
  • Update from Git / Commit to Git: change list first, selective commit, explicit conflict policy. Updates that would delete a lakehouse, warehouse or database are refused.
  • Offload: items Git can't track go to a nominated folder in the Fabric Git layout, with a manifest. PBIX is saved for reports without a definition, metadata for the rest.
  • Repoint to another branch: preflight, full local backup, re-check, preview of every add / overwrite / delete, data-bearing deletions blocked. Re-verified right before applying, restore on cancel or failure, and a crash-safe journal with a recovery banner.
  • Progress stepper with live percentages, skeleton rows while scanning.
  • Clearer UI type: 14px body, 12px minimum, subpixel text.

Safety

  • All HTTP stays in FabricClient behind the host allowlist. Fabric talks to the Git provider; Daxis never pushes from the machine.
  • Every service write goes through a confirmation. Every repoint step is journalled before it runs.
  • An independent review of the repoint path found two issues, both fixed: a stale preview could be applied, and metadata-only exports counted as backups.

Testing

  • 99 xUnit tests (36 new): parsing, freshness, branch families, switch/update impact, preflight, journal, offload writer (binary bytes, path traversal, atomic replace).
  • UI rendered headless with sample data in dark and light.
  • Not yet exercised against a live tenant. Repoint should be tried on test workspaces first; the live checklist is in docs/plans/fabric-git-sync.md.

🤖 Generated with Claude Code

https://claude.ai/code/session_01G8QHefm3VMWUxzdTtEohoa

AFetisa and others added 5 commits September 30, 2026 22:10
…led repoint

- FabricClient: Git endpoints (connection, status, commit, update, connect,
  disconnect, initialize, credentials, workspace relations), raw-byte
  definitions, PBIX export, LRO percentComplete, service error codes
- Offload: Fabric-Git folder layout, atomic per-item writes, path-traversal
  guard, manifest; PBIX / metadata fallbacks
- SourceControl: parsing, freshness, branch families, switch/update impact
  classification with data-bearing item blocks, preflight, repoint journal
- Repointer: backup -> disconnect -> connect -> initialize -> preview ->
  apply/restore, auto-restore on failure, relation re-link

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ad, safe repoint

- Tenant-wide scan of Git connections grouped by repo + folder, branch
  workspace links, shared-branch warnings, stale / needs-attention flags
- Update from Git and Commit to Git with change list, selective commit and
  explicit conflict policy; data-bearing deletions refused
- Offload items Git can't track to a nominated folder (manifest, PBIX and
  metadata fallbacks), off the UI thread
- Repoint wizard: preflight, backup, live re-check, preview, apply or
  restore; recovery banner for interrupted journals
- Stepper with live percentages, skeleton rows, pulsing active step
- Review fixes: re-verify status before applying a preview; metadata-only
  exports no longer count as a backup
- Docs: README, CHANGELOG 0.2.0, CLAUDE.md scope, DESIGN.md components

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Scan list toggles between grouping by repo + folder and one A-Z list of
  every workspace (remembered in settings); opens on the sidebar workspace
- Type scale: body 14, small 13, captions >= 12, label 11.5, mono 12.5,
  editor 13; gentler negative tracking only at 20px+; subpixel text
- Green button follows what can run: Commit when conflicts block Update

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G8QHefm3VMWUxzdTtEohoa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G8QHefm3VMWUxzdTtEohoa
@AFetisa
AFetisa merged commit b9991a3 into main Oct 1, 2026
2 checks passed
@AFetisa
AFetisa deleted the feature/source-control branch October 1, 2026 12:33
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