NSCT Agent
|
6e2e7386ad
|
stage20: context budgeting - per-stage token limits (planner 12k, claim 16k, contradiction 24k, synthesis 48k)
Implemented:
- context_budget.py: ContextBudgetConfig (Pydantic, frozen) mit 4 Stage-Limits,
validation (ge/le), get_limit(), total_max_tokens, stage_keys
- context_budget.py: ContextBudgetTracker mit track_tokens(), get_usage(),
is_exhausted(), reset_stage(), reset_all(), total_usage, elapsed_seconds
- context_budget.py: ContextBudgetExhaustedError mit stage_name, used_tokens, limit_tokens
- orchestrator.py: _track_context_tokens() Methode, context_budget_config/tracker init
- orchestrator.py: context_budget_tracker property export
- __init__.py: exports ContextBudgetConfig, ContextBudgetExhaustedError, ContextBudgetTracker
- priority_queue.py: __aenter__/__aexit__ auf async geandert (Testfix)
- test_context_budget.py: 28 Tests (DefaultConfig, TrackAccumulation, ExhaustedError,
GetUsage, Reset, IsExhausted, InvalidStageNames, InvalidTokens)
- test_context_budget_integration.py: 6 Tests (Orchestrator-Integration)
- HANDOFF.md: Stage 20 abgeschlossen dokumentiert
Tests: 34 passed (28 unit + 6 integration) + 14 performance = 48 total
|
2026-08-29 08:57:18 +00:00 |
|
NSCT Agent
|
4335a40d68
|
stage19: performance optimierung — LLM concurrency semaphore, priority (HIGH/NORMAL/LOW), limiter
|
2026-08-28 17:28:31 +00:00 |
|
NSCT Agent
|
60679083fa
|
stage18: docker hardening — non-root user, read-only FS, no-new-privileges, health-check fix, .dockerignore
|
2026-08-28 16:22:23 +00:00 |
|
NSCT Agent
|
825aedb057
|
feat(stage11): implement audio integration
|
2026-08-25 18:37:31 +00:00 |
|
NSCT Agent
|
4b8ae6a41a
|
fix(stage11): resolve subagent merge conflicts — audio models, vision fix, test fixes
|
2026-08-25 17:29:17 +00:00 |
|
NSCT Agent
|
3ab875d2bc
|
feat(stage10): implement vision integration
|
2026-08-25 14:42:29 +00:00 |
|
NSCT Agent
|
14f016457a
|
tests(stage9): fix test_stage9_synthesis.py
|
2026-08-25 14:08:15 +00:00 |
|
NSCT Agent
|
8582a8e60f
|
docs: update HANDOFF.md — Stage 9 completed, Stage 10 next
|
2026-08-24 12:38:47 +00:00 |
|
NSCT Agent
|
d87e2b4d14
|
feat(stage9): neutral synthesis engine — LLM-generated report from evidence package
|
2026-08-24 11:52:10 +00:00 |
|
NSCT Agent
|
719e218d9a
|
feat(stage8): evidence scoring — transparent multidimensional scores (independence, proximity, support, contradiction, directness, date)
|
2026-08-24 07:47:00 +00:00 |
|
NSCT Agent
|
d1e6bb6cf4
|
feat(stage7): claim clustering & contradiction candidates — semantic grouping, numeric normalization, pairwise analysis
- ClaimClusterModel: LLM-basierte semantische Gruppierung von Claims
- ClaimRelationModel: SUPPORTS, CONTRADICTS, DUPLICATE, UNCERTAIN pairwise relations
- ClaimNLUModel: numerische Normalisierung (%, Währungen, deutsche/englische Wörter)
- stage7_normalize_numerics.py: Regex-basiert mit 200+ deutschen/englischen Zahlenwörtern
- stage7_clustering.py: LLM-Clustering + pairwise claim-relation analysis
- API: POST cluster-claims, GET clusters, GET claim-relations
- 79 tests: numerische Normalisierung, LLM-Parsing, Clustering, Relationen, Edge-Cases
- Dedup: claims mit gleichen numerischen Werten werden zusammengefasst
|
2026-08-23 20:57:17 +00:00 |
|
NSCT Agent
|
a60cf21a2c
|
feat(stage6): source independence & citation graph — detect syndication, shared origins, text similarity
- SourceIndependenceModel: per-source independence_score (0.0-1.0), syndication_group_id, primary_source_id, content_hash, shared_urls
- CitationGraphEdgeModel: directed edges (SYNDICATED, QUOTES, LINKS_TO, REPOST, SIMILAR_CONTENT) with confidence + evidence
- Content-Hash (SHA-256): instant syndication detection for identical content
- difflib Vorfilterung: >60% → LLM, >80% → high confidence, 100% → immediate syndication
- LLM-Pairwise-Analysis: two-text-comparison for suspicious pairs only (bounded concurrency)
- independence_score: 1.0 base, -0.4 for syndicated, -0.1 per high-similarity pair
- Pydantic schemas: SourceIndependenceScore, CitationGraphEdge, SyntacticSimilarityResult, LlmSyndicationAnalysis, SourceIndependenceAnalysisResult
- LLM response parser: handles JSON, markdown code blocks, partial/invalid JSON
- 43 tests: content hash, similarity thresholds, LLM parsing, analyzer integration, edge cases, prompt templates
|
2026-08-23 18:47:24 +00:00 |
|
NSCT Agent
|
e8b6515f67
|
feat(stage5): implement claim extraction — atomic verifiable claims from sources
- Claim model with provenance, evidence_span, attribution, claim_type
- Stage5Extractor: LLM-based atomic claim extraction from source content
- Never summarizes — always extracts atomic, verifiable claims
- Claims require evidence span (exact quote from source)
- Attribution per claim (who says what)
- Claim types: fact, opinion, prediction, recommendation, claim
- Confidence score 0.0–1.0 per claim
- Bounded concurrency, SSRF-safe, max content truncation
- REST API: GET/POST /research/{run_id}/claims
- 36 tests: parsing, edge cases, integration, validation
|
2026-08-23 17:56:01 +00:00 |
|