Conversation
- FLAG_UI: head.detached -> Open Source Control; analytics.unavailable -> Open Git Analytics (self-healing); four remaining ids documented as deliberately inert (no honest action exists) - Activity: render topContributors as chip row (aggregator-capped, already in CSV, previously dropped) - Pulse: hint now shows recorded / not recorded (10-min throttle) from p.appended Presentation-only; no contract or host changes (ADR 011 additive rule). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- serializeReport gate widens to json|csv|md; abstract reportToMarkdown compile-enforced across all three webview providers - gitReportToMd beside gitReportToCsv; hygiene + briefing builders inline in their providers, mirroring each CSV's section structure and caps - mdEscape (pipes, backticks, newlines) + reportMdHeader in report-labels - "MD" quick-save and "Copy MD" buttons on all three webview toolbars; copy routes through copyWithPolicy (security.clipboard.autoCopy) — no new clipboard surface - Save-as QuickPick gains Markdown; md writes join .meridian/artifacts/ (retention-governed, ADR 019); ADR 020 latest/ contract untouched - Tests: builder escaping against real serializer output; export test extended for md quick-save, unknown-format reject, and both copy paths Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- latest-snapshot.ts: onLatestSnapshotWrite(cb) hook, notified inside the queue post-rename with the written kind; listener errors swallowed; module stays vscode-free - ReportsTreeProvider: onDidChangeTreeData + refresh(); async getChildren stats the three latest/ snapshot mtimes (hygiene row -> hygieneAnalytics) into coarse relative-age descriptions via pure formatRelativeAge; no workspace -> no descriptions - tree-setup: snapshot-write hook drives reportsTree.refresh() (disposable); new meridian.latest.reveal command (reveal latest/ in Explorer, or info message when no snapshots exist) - package.json: command contributed to commands, commandPalette (workspace-open when), and the Reports view title; manifest whitelist updated - Docs: ADR 020 internal mtime-only consumer note; FEATURES.md Reports-view and export-toolbar (MD/Copy MD, from previous commit) touch-ups Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Export latestDirPath/latestSnapshotPath so tree and reveal command share the writer's path encoding; type Reports-tree map as ReportId->kind. Centralize export-format facts in one EXPORT_FORMATS registry. Restore manifest-test whitelist semantics via presentation-utility bucket. Dedupe git-report test fixture into tests/fixtures; single-pass mdEscape.
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.
Three small features deepening the surfaces shipped in v2.14.0, plus a post-review cleanup pass.
Markdown export (all three report webviews)
serializeReportchokepoint; builders mirror each CSV's sections and caps.meridian/artifacts/) and Copy MD buttons; copy routes through the existingsecurity.clipboard.autoCopypolicy — no new clipboard surfacelatest/contract untouchedSession Briefing polish
head.detachedandanalytics.unavailableflag cards get real actions (Open Source Control / Open Git Analytics — the latter self-heals the missing slice); the four inert flags documented as deliberateReports-tree snapshot freshness
.meridian/latest/mtimes, redrawn via a newonLatestSnapshotWritehook (mtime-only consumer — never parses the JSON)meridian.latest.revealcommand (view title + palette) surfaces the snapshot dir to humansHardening
EXPORT_FORMATSregistry, typedReportId→kindmap, honest manifest-test whitelist bucketsTests: 360 → 417, all green (tsc, vitest, lint manifest checks, bundle).