Repository Analysis

sipeed/picoclaw

Tiny, Fast, and Deployable anywhere — automate the mundane, unleash your creativity

2.8 Likely human-written View on GitHub
2.8
Adjusted Score
2.8
Raw Score
100%
Time Factor
2026-05-30
Last Push
29,218
Stars
Go
Language
352,006
Lines of Code
1301
Files
301
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 37HIGH 36MEDIUM 62LOW 166

Pattern Findings

301 matches across 10 categories. Click a row to expand file-level details.

Hallucination Indicators37 hits · 440 pts
SeverityFileLineSnippet
CRITICALweb/backend/api/config.go681 cfg.Tools.Skills.Github.Token.Set(token)
CRITICALweb/backend/api/tools.go565 APIKeySet: cfg.Tools.Web.Gemini.APIKey.String() != "",
CRITICALweb/backend/api/tools.go570 APIKeySet: len(cfg.Tools.Web.Brave.APIKeys.Values()) > 0,
CRITICALweb/backend/api/tools.go576 APIKeySet: len(cfg.Tools.Web.Tavily.APIKeys.Values()) > 0,
CRITICALweb/backend/api/tools.go581 APIKeySet: len(cfg.Tools.Web.Perplexity.APIKeys.Values()) > 0,
CRITICALweb/backend/api/tools.go592 APIKeySet: cfg.Tools.Web.GLMSearch.APIKey.String() != "",
CRITICALweb/backend/api/tools.go598 APIKeySet: cfg.Tools.Web.BaiduSearch.APIKey.String() != "",
CRITICALweb/backend/api/tools_test.go508 if got := updated.Tools.Web.Brave.APIKeys.Values(); len(got) != 2 ||
CRITICALweb/backend/api/tools_test.go537 if got := updated.Tools.Web.Brave.APIKeys.Values(); len(got) != 2 ||
CRITICALpkg/tools/integration/web.go1207 BraveAPIKeys: cfg.Tools.Web.Brave.APIKeys.Values(),
CRITICALpkg/tools/integration/web.go1210 TavilyAPIKeys: cfg.Tools.Web.Tavily.APIKeys.Values(),
CRITICALpkg/tools/integration/web.go1218 GeminiAPIKey: cfg.Tools.Web.Gemini.APIKey.String(),
CRITICALpkg/tools/integration/web.go1222 PerplexityAPIKeys: cfg.Tools.Web.Perplexity.APIKeys.Values(),
CRITICALpkg/tools/integration/web.go1228 GLMSearchAPIKey: cfg.Tools.Web.GLMSearch.APIKey.String(),
CRITICALpkg/tools/integration/web.go1233 BaiduSearchAPIKey: cfg.Tools.Web.BaiduSearch.APIKey.String(),
CRITICALpkg/config/security.go148 if cfg.Tools.Skills.Github.Token.String() == "" && legacyGitHub.Token.String() != "" {
CRITICALpkg/config/security.go159 if name == "github" && cfg.Tools.Skills.Github.Token.String() != "" {
CRITICALpkg/config/security_integration_test.go124 assert.Equal(t, "ghp-from-security-yml", cfg.Tools.Skills.Github.Token.String())
CRITICALpkg/config/security_integration_test.go460 t.Logf("GLMSearch APIKey(): %s", cfg.Tools.Web.GLMSearch.APIKey.String())
CRITICALpkg/config/security_integration_test.go461 assert.Equal(t, "glm-test-glm-search-key", cfg.Tools.Web.GLMSearch.APIKey.String())
CRITICALpkg/config/security_integration_test.go464 assert.Equal(t, "ghp-github-from-file-abc123", cfg.Tools.Skills.Github.Token.String())
CRITICALpkg/config/security_integration_test.go465 t.Logf("Github Token(): %s", cfg.Tools.Skills.Github.Token.String())
CRITICALpkg/config/security_integration_test.go632 assert.Equal(t, "legacy-github-token", cfg.Tools.Skills.Github.Token.String())
CRITICALpkg/channels/feishu/feishu_reply.go139 resp, err := c.client.Im.V1.Message.Get(ctx, req)
CRITICALpkg/channels/feishu/feishu_64.go253 resp, err := c.client.Im.V1.Message.Patch(ctx, req)
CRITICALpkg/channels/feishu/feishu_64.go278 resp, err := c.client.Im.V1.Message.Delete(ctx, req)
CRITICALpkg/channels/feishu/feishu_64.go315 resp, err := c.client.Im.V1.Message.Create(ctx, req)
CRITICALpkg/channels/feishu/feishu_64.go441 resp, err := c.client.Im.V1.MessageReaction.Create(ctx, req)
CRITICALpkg/channels/feishu/feishu_64.go478 _, _ = c.client.Im.V1.MessageReaction.Delete(context.Background(), delReq)
CRITICALpkg/channels/feishu/feishu_64.go894 resp, err := c.client.Im.V1.MessageResource.Get(ctx, req)
CRITICALpkg/channels/feishu/feishu_64.go934 resp, err := c.client.Im.V1.Image.Get(ctx, req)
CRITICALpkg/channels/feishu/feishu_64.go1058 resp, err := c.client.Im.V1.Message.Create(ctx, req)
CRITICALpkg/channels/feishu/feishu_64.go1091 resp, err := c.client.Im.V1.Message.Create(ctx, req)
CRITICALpkg/channels/feishu/feishu_64.go1120 uploadResp, err := c.client.Im.V1.Image.Create(ctx, uploadReq)
CRITICALpkg/channels/feishu/feishu_64.go1145 resp, err := c.client.Im.V1.Message.Create(ctx, req)
CRITICALpkg/channels/feishu/feishu_64.go1176 uploadResp, err := c.client.Im.V1.File.Create(ctx, uploadReq)
CRITICALpkg/channels/feishu/feishu_64.go1201 resp, err := c.client.Im.V1.Message.Create(ctx, req)
Magic Placeholder Names36 hits · 180 pts
SeverityFileLineSnippet
HIGHdocs/security/ANTIGRAVITY_AUTH.ja.md694 "api_keys": ["your-api-key"],
HIGHdocs/security/ANTIGRAVITY_AUTH.vi.md694 "api_keys": ["your-api-key"],
HIGHdocs/security/ANTIGRAVITY_AUTH.md692 "api_keys": ["your-api-key"],
HIGHdocs/security/ANTIGRAVITY_AUTH.fr.md694 "api_keys": ["your-api-key"],
HIGHdocs/security/ANTIGRAVITY_AUTH.zh.md694 "api_keys": ["your-api-key"],
HIGHdocs/security/ANTIGRAVITY_AUTH.pt-br.md694 "api_keys": ["your-api-key"],
HIGHdocs/project/README.zh.md364 "api_keys": ["sk-your-api-key"]
HIGHdocs/project/README.fr.md367 "api_keys": ["sk-your-api-key"]
HIGHdocs/project/README.it.md363 "api_keys": ["sk-your-api-key"]
HIGHdocs/project/README.ja.md364 "api_keys": ["sk-your-api-key"]
HIGHdocs/project/README.pt-br.md364 "api_keys": ["sk-your-api-key"]
HIGHdocs/project/README.id.md363 "api_keys": ["sk-your-api-key"]
HIGHdocs/project/README.vi.md364 "api_keys": ["sk-your-api-key"]
HIGHdocs/guides/docker.vi.md95 "api_keys": ["sk-your-api-key"],
HIGHdocs/guides/docker.vi.md101 "api_keys": ["your-api-key"],
HIGHdocs/guides/docker.ms.md94 "api_keys": ["sk-your-api-key"],
HIGHdocs/guides/docker.ms.md100 "api_keys": ["your-api-key"],
HIGHdocs/guides/providers.md88 "api_keys": ["sk-your-api-key"]
HIGHdocs/guides/providers.zh.md85 "api_keys": ["sk-your-api-key"]
HIGHdocs/guides/docker.pt-br.md95 "api_keys": ["sk-your-api-key"],
HIGHdocs/guides/docker.pt-br.md101 "api_keys": ["your-api-key"],
HIGHdocs/guides/providers.fr.md76 "api_keys": ["sk-your-api-key"]
HIGHdocs/guides/docker.ja.md97 "api_keys": ["sk-your-api-key"],
HIGHdocs/guides/docker.ja.md103 "api_keys": ["your-api-key"],
HIGHdocs/guides/configuration.zh.md548 "api_keys": ["sk-your-api-key"]
HIGHdocs/guides/providers.pt-br.md76 "api_keys": ["sk-your-api-key"]
HIGHdocs/guides/configuration.md751 "api_keys": ["sk-your-api-key"]
HIGHdocs/guides/providers.ja.md77 "api_keys": ["sk-your-api-key"]
HIGHdocs/guides/docker.fr.md95 "api_keys": ["sk-your-api-key"],
HIGHdocs/guides/docker.fr.md101 "api_keys": ["your-api-key"],
HIGHdocs/guides/docker.zh.md98 "api_keys": ["sk-your-api-key"],
HIGHdocs/guides/docker.zh.md105 "api_keys": ["your-api-key"],
HIGHdocs/guides/docker.md99 "api_keys": ["sk-your-api-key"],
HIGHdocs/guides/docker.md106 "api_keys": ["your-api-key"],
HIGHdocs/guides/providers.vi.md76 "api_keys": ["sk-your-api-key"]
HIGHdocs/migration/model-list-migration.md211 "api_keys": ["your-api-key"],
Decorative Section Separators59 hits · 176 pts
SeverityFileLineSnippet
MEDIUMcmd/picoclaw/internal/cliui/mcp_show.go49// ── plain (narrow / non-TTY) ────────────────────────────────────────────────
MEDIUMcmd/picoclaw/internal/cliui/mcp_show.go110// ── fancy (wide TTY) ────────────────────────────────────────────────────────
MEDIUMcmd/picoclaw/internal/cliui/mcp_show.go240// ── mcp list ────────────────────────────────────────────────────────────────
MEDIUMcmd/picoclaw/internal/cliui/mcp_show.go355// ── helpers ─────────────────────────────────────────────────────────────────
MEDIUMdocker/docker-compose.full.yml2 # ─────────────────────────────────────────────
MEDIUMdocker/docker-compose.full.yml5 # ─────────────────────────────────────────────
MEDIUMdocker/docker-compose.full.yml21 # ─────────────────────────────────────────────
MEDIUMdocker/docker-compose.full.yml24 # ─────────────────────────────────────────────
MEDIUMdocker/docker-compose.yml2 # ─────────────────────────────────────────────
MEDIUMdocker/docker-compose.yml5 # ─────────────────────────────────────────────
MEDIUMdocker/docker-compose.yml23 # ─────────────────────────────────────────────
MEDIUMdocker/docker-compose.yml26 # ─────────────────────────────────────────────
MEDIUMdocker/docker-compose.yml42 # ─────────────────────────────────────────────
MEDIUMdocker/docker-compose.yml45 # ─────────────────────────────────────────────
MEDIUM.github/workflows/docker-build.yml26 # ── Checkout ──────────────────────────────
MEDIUM.github/workflows/docker-build.yml32 # ── Docker Buildx ─────────────────────────
MEDIUM.github/workflows/docker-build.yml36 # ── Login to GHCR ─────────────────────────
MEDIUM.github/workflows/docker-build.yml44 # ── Login to Docker Hub ────────────────────
MEDIUM.github/workflows/docker-build.yml52 # ── Metadata (tags & labels) ──────────────
MEDIUM.github/workflows/docker-build.yml63 # ── Build & Push ──────────────────────────
MEDIUMpkg/config/config_channel_test.go466// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go468// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go525// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go527// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go828// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go830// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go1005// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go1007// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go32// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go34// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go99// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go101// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go310// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go312// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go354// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go356// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go374// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go376// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go400// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go402// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go430// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go432// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go625// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go627// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go668// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go670// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go740// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go742// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go776// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go778// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go937// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go939// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go1068// ═══════════════════════════════════════════════════
MEDIUMpkg/config/config_channel_test.go1070// ═══════════════════════════════════════════════════
MEDIUMpkg/utils/bm25.go21// ── Tuning defaults ───────────────────────────────────────────────────────────
MEDIUMpkg/routing/router_test.go10// ── ExtractFeatures ──────────────────────────────────────────────────────────
MEDIUMpkg/routing/router_test.go146// ── RuleClassifier ───────────────────────────────────────────────────────────
MEDIUMpkg/routing/router_test.go242// ── Router ───────────────────────────────────────────────────────────────────
MEDIUMpkg/routing/router_test.go365// ── newWithClassifier (internal testing hook) ─────────────────────────────────
Hyper-Verbose Identifiers57 hits · 58 pts
SeverityFileLineSnippet
LOWweb/frontend/src/features/chat/history.ts64function normalizeMessageTimestamp(timestamp: number | string): string {
LOWweb/frontend/src/features/chat/state.ts53export function getInitialActiveSessionId(): string {
LOW…/frontend/src/features/chat/assistant-message-state.ts22function normalizeAssistantMessageKind(
LOW…/frontend/src/features/chat/assistant-message-state.ts32function parseAssistantMessageKind(
LOW…/frontend/src/features/chat/assistant-message-state.ts46function hasExplicitAssistantKindPayload(
LOW…/frontend/src/features/chat/assistant-message-state.ts65export function parseAssistantMessageCreateState(
LOW…/frontend/src/features/chat/assistant-message-state.ts78export function parseAssistantMessageUpdateState(
LOWweb/frontend/src/features/chat/detail-visibility.ts40function serializeAssistantDetailVisibility(
LOWweb/frontend/src/features/chat/detail-visibility.ts58function parseAssistantDetailVisibility(
LOWweb/frontend/src/features/chat/detail-visibility.ts78function parseLegacyShowAssistantDetails(
LOWweb/frontend/src/features/chat/detail-visibility.ts100export function resolveAssistantDetailVisibilityPreference(
LOWweb/frontend/src/features/chat/detail-visibility.ts136export function syncAssistantDetailVisibilityStorage(
LOWweb/frontend/src/features/chat/detail-visibility.ts238export function shouldShowAssistantMessage(
LOWweb/frontend/src/features/chat/tool-calls.ts3function parseLegacyToolFeedbackContent(
LOWweb/frontend/src/features/chat/tool-calls.ts107export function parseToolCallsFromContent(
LOWweb/frontend/src/features/chat/controller.ts69function needsActiveSessionHydration(): boolean {
LOWweb/frontend/src/components/chat/chat-page.tsx65function resolveChatInputDisabledReason({
LOW…ontend/src/components/chat/message-code-block.utils.ts31function findFirstDescendantByTagName(
LOW…ontend/src/components/chat/message-code-block.utils.ts57export function extractTextFromMarkdownNode(
LOW…ontend/src/components/chat/message-code-block.utils.ts83export function stripSingleTrailingLineBreak(value: string): string {
LOW…ontend/src/components/chat/message-code-block.utils.ts87export function extractCodeBlockFromPreNode(node: MarkdownNode | undefined): {
LOW…ontend/src/components/chat/message-code-block.utils.ts99export function extractCodeBlockRenderState(children: ReactNode): {
LOW…ontend/src/components/chat/message-code-block.utils.ts180function splitHighlightedHtmlIntoNodeLines(
LOW…ontend/src/components/chat/message-code-block.utils.ts200export function splitHighlightedHtmlIntoLines(highlightedHtml: string): string[] {
LOW…ontend/src/components/chat/message-code-block.utils.ts221export function trimTrailingEmptyStringLine(lines: string[]): string[] {
LOW…ontend/src/components/chat/message-code-block.utils.ts249export function trimTrailingEmptyRenderedCodeLine(
LOW…ontend/src/components/chat/message-code-block.utils.ts327export function splitRenderedCodeContentIntoLines(
LOW…omponents/agent/tools/web-search-provider-settings.tsx40export function WebSearchProviderSettings({
LOWweb/frontend/src/components/agent/hub/tool-support.ts15export function buildUnavailableToolMessages({
LOWweb/frontend/src/components/models/provider-registry.ts118export function getProviderDefaultAPIBase(
LOWweb/frontend/src/components/models/provider-registry.ts125export function getProviderDefaultAuthMethod(
LOWweb/frontend/src/components/models/provider-registry.ts132export function isProviderAuthMethodLocked(
LOW…components/credentials/antigravity-credential-card.tsx22export function AntigravityCredentialCard({
LOW…ontend/src/components/channels/channel-config-page.tsx85function serializeGroupTriggerForSubmit(value: unknown): unknown {
LOW…ntend/src/components/channels/channel-config-fields.ts76export function getFieldValueForValidation(
LOW…ntend/src/components/channels/channel-config-fields.ts94export function getSecretInputPlaceholder(
LOW…rontend/src/components/channels/channel-array-utils.ts50export function parseConservativeStringListInput(raw: string): string[] {
LOW…rontend/src/components/channels/channel-array-utils.ts67export function serializeStringArrayForSubmit(value: unknown): unknown {
LOWweb/frontend/src/hooks/use-highlight-theme.ts22function getOrCreateThemeStyleElement(): HTMLStyleElement {
LOWweb/frontend/src/hooks/use-highlight-theme.ts22function getOrCreateThemeStyleElement(): HTMLStyleElement {
LOWweb/frontend/src/hooks/use-sidebar-channels.ts46function getChannelImportanceOrder(language: string): string[] {
LOWweb/frontend/src/lib/clipboard.ts33function getDefaultClipboardEnvironment(): ClipboardEnvironment {
LOWweb/frontend/src/lib/restart-required.ts10export function showSaveSuccessOrRestartToast(
LOWweb/frontend/src/api/launcher-auth.ts9export async function postLauncherDashboardLogin(
LOWweb/frontend/src/api/launcher-auth.ts44export async function postLauncherDashboardLogout(): Promise<boolean> {
LOWweb/frontend/src/api/launcher-auth.ts56export async function postLauncherDashboardSetup(
LOWweb/frontend/src/store/gateway.ts45function clearGatewayStoppingTimeout() {
LOWweb/frontend/src/store/gateway.ts52function normalizeGatewayStoreState(
LOWweb/frontend/src/store/gateway.ts86export function beginGatewayStoppingTransition() {
LOWweb/frontend/src/store/gateway.ts102export function cancelGatewayStoppingTransition() {
LOWweb/frontend/src/store/gateway.ts109export function applyGatewayStatusToStore(
LOWdocs/security/ANTIGRAVITY_AUTH.ja.md508export function sanitizeAntigravityThinkingBlocks(
LOWdocs/security/ANTIGRAVITY_AUTH.vi.md508export function sanitizeAntigravityThinkingBlocks(
LOWdocs/security/ANTIGRAVITY_AUTH.md506export function sanitizeAntigravityThinkingBlocks(
LOWdocs/security/ANTIGRAVITY_AUTH.fr.md508export function sanitizeAntigravityThinkingBlocks(
LOWdocs/security/ANTIGRAVITY_AUTH.zh.md508export function sanitizeAntigravityThinkingBlocks(
LOWdocs/security/ANTIGRAVITY_AUTH.pt-br.md508export function sanitizeAntigravityThinkingBlocks(
Over-Commented Block57 hits · 57 pts
SeverityFileLineSnippet
LOWweb/backend/app_runtime.go21// - Disables HTTP keep-alive to prevent new connections during shutdown
LOWpkg/seahorse/fts5_sanitize.go1package seahorse
LOWpkg/seahorse/fts5_sanitize.go21// treats it as a literal phrase token. User-quoted phrases ("...") are
LOWpkg/seahorse/store_test.go741 //
LOWpkg/seahorse/store_test.go761 {Ordinal: 104, ItemType: "message", MessageID: msgs[4], TokenCount: 2},
LOWpkg/seahorse/store_test.go781 // After delete: 100, 104
LOWpkg/seahorse/store_test.go821}
LOWpkg/seahorse/short_engine_test.go1741 // Uses (role, content, token_count) multi-dimensional comparison.
LOWpkg/credential/credential.go1// Package credential resolves API credential values for model_list entries.
LOWpkg/credential/credential.go41)
LOWpkg/tools/shell.go101 // apply on Windows, where commands are executed via powershell -Command.
LOWpkg/tools/shared/result.go41 // Used for internal error handling and logging.
LOWpkg/tools/shared/result.go101// result := NewToolResult("File updated successfully")
LOWpkg/tools/shared/result.go121 ForLLM: forLLM,
LOWpkg/tools/shared/result.go161}
LOWpkg/tools/shared/base.go141// asynchronous execution with completion callbacks.
LOWpkg/fileutil/file.go21// - Unchanged (if any step fails before rename)
LOWpkg/fileutil/file.go41//
LOWpkg/memory/jsonl.go21)
LOWpkg/config/config.go1141
LOWpkg/config/migration_integration_test.go721 }
LOWpkg/config/migration_integration_test.go741// for _, m := range v1.ModelList {
LOWpkg/config/migration_integration_test.go761//
LOWpkg/config/migration_integration_test.go781//func TestMigrateModelEnabled_ExplicitEnabledPreserved(t *testing.T) {
LOWpkg/config/migration_integration_test.go801// {ModelName: "gpt-4", Model: "openai/gpt-4", APIKeys: SimpleSecureStrings("sk-test"), Enabled: false},
LOWpkg/config/migration_integration_test.go821// Model: "openai/gpt-4",
LOWpkg/config/migration_integration_test.go841// assertEnabled("with-key", true)
LOWpkg/config/migration_integration_test.go861// "group_trigger": map[string]any{"mention_only": true},
LOWpkg/config/migration_integration_test.go881// ModelList: []*ModelConfig{
LOWpkg/config/envkeys.go21const (
LOWpkg/config/config_channel.go201// IsEmpty returns true if the node has not been populated.
LOWpkg/providers/factory_provider.go41 }
LOWpkg/providers/openai_compat/provider_test.go861}
LOWpkg/utils/bm25.go1// Package utils provides shared, reusable algorithms.
LOWpkg/agent/subturn.go81//
LOWpkg/agent/subturn.go101// }
LOWpkg/agent/subturn.go121 // When Async = true (asynchronous sub-turn):
LOWpkg/agent/subturn.go141 // When parent finishes with hard abort (Finish(true)):
LOWpkg/agent/subturn.go161 MaxContextRunes int
LOWpkg/agent/subturn.go521// IMPORTANT: This function is ONLY called for asynchronous sub-turns (Async=true).
LOWpkg/agent/context_budget.go1// PicoClaw - Ultra-lightweight personal AI agent
LOWpkg/agent/steering.go561// - Automated workflows that need to chain multiple turns
LOWpkg/agent/agent.go281 // "scope": msg.MediaScope,
LOWpkg/agent/agent.go501// SetMediaStore injects a MediaStore for media lifecycle management.
LOWpkg/agent/agent.go641
LOWpkg/agent/agent.go661
LOWpkg/agent/agent.go681// isNativeSearchProvider reports whether the given LLM provider implements
LOWpkg/agent/context.go841 // (fixes issue #607). Profile-customized static prompts are built on demand.
LOWpkg/mcp/manager_real_server_integration_test.go21//
LOWpkg/routing/classifier.go1package routing
LOWpkg/routing/classifier.go21// token > 200 (≈600 chars): 0.35 — very long prompts are almost always complex
LOWpkg/gateway/channel_matrix.go1//go:build !mipsle && !netbsd && !(freebsd && arm) && !android
LOWpkg/channels/registry.go21
LOWpkg/channels/marker.go1// PicoClaw - Ultra-lightweight personal AI agent
LOWpkg/channels/base.go141// A value of 0 means no limit.
LOWpkg/channels/telegram/parse_markdown_to_md_v2.go81//
LOWpkg/session/session_store.go1package session
Verbosity Indicators39 hits · 57 pts
SeverityFileLineSnippet
LOWpkg/seahorse/store.go1193 // Step 1: Move all items to temp negative ordinals
LOWpkg/seahorse/store.go1206 // Step 2: Insert new summary at the end with positive ordinal
LOWpkg/seahorse/store.go1218 // Step 3: Update each temp item to its final positive ordinal
LOWpkg/tools/fs/filesystem_test.go830 // Step 2: Read the second chunk (10 bytes) ---
LOWpkg/tools/fs/filesystem_test.go849 // Step 3: Read the final chunk (remaining 6 bytes) ---
LOWpkg/config/config_channel.go739 // Step 2: validate singleton constraints
LOWpkg/config/config_channel_test.go471 // Step 1: Load from extend.json
LOWpkg/config/config_channel_test.go488 // Step 2: Load secure from security.yml
LOWpkg/config/config_channel_test.go498 // Step 3: Merge
LOWpkg/config/config_channel_test.go501 // Step 4: Decode merged result
LOWpkg/config/config_channel_test.go508 // Step 5: Save extend.json → token masked as [NOT_HERE]
LOWpkg/config/config_channel_test.go516 // Step 6: Save security.yml → only token
LOWpkg/config/config_channel_test.go833 // Step 1: Load from extend.json
LOWpkg/config/config_channel_test.go846 // Step 2: Merge secure from security.yml
LOWpkg/config/config_channel_test.go856 // Step 3: Decode — both SecureString and SecureStrings should be populated
LOWpkg/config/config_channel_test.go865 // Step 4: Save extend.json — both secure fields removed
LOWpkg/config/config_channel_test.go875 // Step 5: Save security.yml — only secure fields
LOWpkg/config/config_channel_test.go976 // Step 2: Merge enc:// token from security.yml
LOWpkg/config/config_channel_test.go979 // Step 3: Decode — SecureString.fromRaw resolves enc:// → plaintext
LOWpkg/config/config_channel_test.go988 // Step 4: Save extend.json → token masked as [NOT_HERE]
LOWpkg/config/config_channel_test.go995 // Step 5: Save security.yml → token preserved as enc://
LOWpkg/config/config_channel_test.go958 // Step 1: Load from extend.json (token is [NOT_HERE])
LOWpkg/config/example_security_usage.go331## Step 1: Backup your config
LOWpkg/config/example_security_usage.go336## Step 2: Create .security.yml
LOWpkg/config/example_security_usage.go341## Step 3: Fill in your API keys
LOWpkg/config/example_security_usage.go344## Step 4: Simplify config.json (Recommended)
LOWpkg/config/example_security_usage.go351## Step 5: Set permissions
LOWpkg/config/example_security_usage.go356## Step 6: Test
LOWpkg/utils/bm25.go123 // Step 4: score via posting lists
LOWpkg/utils/bm25.go145 // Step 5: top-K via fixed-size min-heap
LOWpkg/skills/clawhub_registry.go278 // Step 1: Fetch metadata (with fallback).
LOWpkg/skills/clawhub_registry.go292 // Step 2: Resolve version.
LOWpkg/skills/clawhub_registry.go302 // Step 3: Download ZIP to temp file (streams in ~32KB chunks).
LOWpkg/skills/clawhub_registry.go321 // Step 4: Extract from file on disk.
LOWpkg/channels/marker_test.go92 // Step 1: Marker split should give us 2 chunks
LOWpkg/channels/marker_test.go97 // Step 2: Length split should be applied to each marker chunk
LOWpkg/channels/manager.go1417 // Step 1: Try marker-based splitting if enabled.
LOWpkg/channels/manager.go1433 // Step 2: Fallback to length-based splitting if no chunks from marker
LOWpkg/channels/manager.go1438 // Step 3: Send all chunks
Fake / Example Data7 hits · 7 pts
SeverityFileLineSnippet
LOWworkspace/skills/agent-browser/SKILL.md24agent-browser fill @e1 "user@example.com"
LOWdocs/security/ANTIGRAVITY_AUTH.ja.md608 "email": "user@example.com",
LOWdocs/security/ANTIGRAVITY_AUTH.vi.md608 "email": "user@example.com",
LOWdocs/security/ANTIGRAVITY_AUTH.md606 "email": "user@example.com",
LOWdocs/security/ANTIGRAVITY_AUTH.fr.md608 "email": "user@example.com",
LOWdocs/security/ANTIGRAVITY_AUTH.zh.md608 "email": "user@example.com",
LOWdocs/security/ANTIGRAVITY_AUTH.pt-br.md608 "email": "user@example.com",
Excessive Try-Catch Wrapping6 hits · 6 pts
SeverityFileLineSnippet
LOWdocs/architecture/hooks/README.zh.md577 except Exception as exc:
LOWdocs/architecture/hooks/plugin-tool-injection.zh.md173 except Exception as exc:
LOWdocs/architecture/hooks/plugin-tool-injection.zh.md445 except Exception as e:
LOWdocs/architecture/hooks/README.md577 except Exception as exc:
LOWdocs/architecture/hooks/plugin-tool-injection.md173 except Exception as exc:
LOWdocs/architecture/hooks/plugin-tool-injection.md445 except Exception as e:
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippet
MEDIUMpkg/credential/credential.go242// Uses filepath.IsLocal on the relative path for robust cross-platform traversal detection.
MEDIUMpkg/routing/features.go83// the content string, so it is robust to any message format.
Self-Referential Comments1 hit · 2 pts
SeverityFileLineSnippet
MEDIUMpkg/skills/loader_test.go411 content := "<!--\n# COPYRIGHT NOTICE\n# This file is part of the \"Universal Biomedical Skills\" project.\n# Copyright