Skip to content

5.3.0#37

Merged
m0n0x41d merged 10 commits intomainfrom
dev
Mar 25, 2026
Merged

5.3.0#37
m0n0x41d merged 10 commits intomainfrom
dev

Conversation

@m0n0x41d
Copy link
Copy Markdown
Owner

No description provided.

ScanModules + ScanDependencies now run at the start of RefreshScan,
keeping the dependency graph fresh alongside drift and stale checks.
Module scan is <100ms, non-fatal on failure.

Closes prob-20260322-001.
…esolution

Register -I directories from compile_commands.json as header-only modules
(FileCount=0) so ScanDependencies doesn't drop edges to include/.
Canonicalize projectRoot and -I paths with EvalSymlinks in resolveInclude
to fix silent edge loss on macOS symlinked checkouts.

Closes prob-20260323-001.
…ite time

Add search_keywords column to artifacts (migration 15), rebuild FTS5
index to include it. Agent provides synonyms and related terms when
creating notes and decisions — "Redis for session store" gets keywords
like "cache, caching, in-memory, key-value, nosql". No hardcoded
synonym maps — the agent is the embedding function.

Closes prob-20260322-002.
Board (quint-code board):
- Bubbletea v2 TUI with view router architecture
- Overview, Problems, Decisions, Modules tabs with drill-in
- Live refresh every 3s + on tab switch (WAL mode for concurrent access)
- Connected tab borders, glamour markdown, alternating rows, adaptive theme

Decision mode computation:
- inferModeFromChain derives mode from artifact links (problem/char/portfolio)
- Agent-declared mode can only escalate, not downgrade computed mode

Scanner fixes:
- Exclude .claude and .context from module detection (worktree/reference dirs)
- Skip Notes in drift detection (observations, not implementations)
q-reason skill no longer always falls through into full FPF cycle.
Three paths based on user intent: think-and-respond (no artifacts),
prepare-and-wait (human drives cycle), full autonomous (agent drives).
Default is prepare-and-wait — never default to autonomous.
Charmbracelet bubbletea/lipgloss/glamour v2 require Go 1.25.
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 49d4a4f6e6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


// Activity (last 7 days)
sevenDaysAgo := now.Add(-7 * 24 * time.Hour)
allArtifacts, _ := store.ListByKind(ctx, "", 50) // all kinds
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Query all artifacts when building activity feed

LoadBoardData expects ListByKind(ctx, "", 50) to return all artifacts, but ListByKind applies WHERE kind = ?, so an empty kind returns no rows. In practice the Overview "ACTIVITY (7 days)" panel stays empty even when recent artifacts exist, which makes the new dashboard report incorrect project activity.

Useful? React with 👍 / 👎.

Comment on lines +96 to +99
if m, ok := finalModel.(ui.Model); ok {
if m.CriticalCount() > 0 {
return fmt.Errorf("%d critical issue(s) require attention", m.CriticalCount())
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Return zero exit for interactive board mode

After p.Run() the command returns an error whenever CriticalCount() > 0, even without --check. That makes normal quint-code board sessions exit non-zero and print an error just because issues exist, despite the command help describing non-zero behavior specifically for check mode. This can break scripts/hooks that invoke the interactive board for visibility only.

Useful? React with 👍 / 👎.

Comment on lines +541 to +543
if v, ok := args["search_keywords"].(string); ok {
input.SearchKeywords = v
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Add search_keywords to quint_decision tool schema

handleQuintDecision now reads args["search_keywords"], but the quint_decision MCP input schema still does not declare that field (only quint_note was updated). Schema-driven MCP clients typically omit undeclared arguments, so decision keyword enrichment is effectively unavailable in normal tool-calling flows.

Useful? React with 👍 / 👎.

… schema

- ListByKind with empty kind returns all artifacts (fixes empty activity feed)
- Interactive board always exits 0 (non-zero only with --check)
- Add search_keywords to quint_decision MCP tool schema
@m0n0x41d m0n0x41d merged commit 697be96 into main Mar 25, 2026
6 checks passed
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