Spaces:
Sleeping
Sleeping
Commit History
-
fix: Margin-consistency gate check and final-evaluation labelβ
- data_gate cross-checks net_margin against net_income/revenue; a disagreement (period mixing upstream) quarantines the pair so a wrong margin can never be cited (companion to the Researcher-side duration fix in fundamentals extraction) - Critic's 4th evaluation after max revisions now labeled 'final evaluation' instead of the confusing 'iteration 4/3'c90d619 -
test: Reference-table MISSING section rendering (CI-only, needs analyzer deps)
e2bae9f -
feat: Deterministic data gate on the Researcher->Analyzer edgeβ
Applies the AgentAsk edge-contract principle deterministically (no LLM): - DG: per-category required-metric rules audited on the exact extracted view the Analyzer consumes; gaps render as an explicit MISSING section in the reference table instructing 'DATA NOT PROVIDED' - the silent empty-valuation case can no longer pass unflagged, and the Critic's existing constraint rule finally has something to enforce - SC: sanity bounds quarantine impossible magnitudes (decimal/unit slips) before they can enter the reference table and be cited; bounds reject the impossible, not the unusual (Boeing's real 9.92 D/E passes) - Both findings logged to the activity stream; 7 gate tests added7abf8e9 -
fix: Boeing-run findings β canonical refs, edge contracts, guardrailsβ
1. Canonical [M##] alignment: final result now carries metric_reference (the analyzer's own numbered list); the Quantitative Data table renders from it so table refs match SWOT text citations exactly (was: positional row numbering that diverged from the analyzer's 16-item list) 2. Numeric validator: accept citations exact at displayed precision ("$2.2B" for 2.237e9); mismatch messages now include raw values 3. Parser edge contract: only [M##]-cited lines enter the quadrants; uncited action lines route to a new Recommendations block, data-quality prose to quality notes; markdown headers can no longer leak as rows 4. Interpretation guardrails in analyzer prompts (VIX bands, margin benchmarks, internal-W/external-T classification) and a critic rubric line penalizing misclassification and W/T metric duplication 5. Citation coverage counts distinct cited metrics (no more 125%); provider failure logs deduped to one line per provider Contract tests added (tests/tesβ¦e961a43 -
feat: Harden API, pin dependencies, and enable pytest CI gateβ
- /health/deep: 1-token ping per configured LLM provider (key presence no longer masquerades as a working model) - Abuse guards on POST /analyze: per-IP rate limit (10/h), concurrent workflow cap (3), and 1h TTL eviction for the in-memory store - CORS: hf.space subdomains via allow_origin_regex (literal wildcard was a no-op); drop unused allow_credentials - Lifespan handler replaces deprecated @app.on_event startup hook - Cache-Control: immutable for hashed /assets, no-cache for the shell - Dependencies: requirements.in + uv-compiled fully pinned requirements.txt (captures the exact resolution validated by today's live canary); Dockerfile uses npm ci for the frontend - Tests: replace live-integration test (needed API keys, imported deleted graph_cyclic) with unit tests for loop routing; pytest added to CIe926e7e
-
Refactor: Analyzer handles revisions directly, remove Editor nodeβ
Architecture change: Researcher β Analyzer β Critic β Analyzer (revision loop) - Add conditional focus area blocks to Analyzer based on failed rubric criteria - Add _build_revision_prompt() for structured Critic feedback integration - Analyzer detects revision mode via revision_count > 0 and critique_details - Route "retry" from Critic back to Analyzer instead of Editor - Rename editor_skipped β analyzer_revision_skipped in conditions.py - Delete redundant src/nodes/editor.py - Update Critic to LLM-only weighted rubric evaluation - Update workflow version to 2.0 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>53fe655
-
Initial commit: Instant SWOT Agentβ
Multi-agent strategic analysis system with: - Research Gateway (A2A client to Researcher-Agent) - Analyzer, Critic, Editor workflow nodes - Data grounding enforcement in all LLM calls - React frontend with real-time progress π€ Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>0c591a7