VibecoderMcSwaggins commited on
Commit
f9f62d4
Β·
1 Parent(s): 5867d1f

docs: Organize and archive resolved bug documentation

Browse files

Archive resolved bugs to docs/bugs/archive/:
- P0: Repr bug, AIFunction serialization, HF tool calling, synthesis issues
- P1: HuggingFace 401/500 errors, chain-of-thought, synthesis fallback
- P2: Cold start feedback, BYOK gaps

Move analysis docs to appropriate folders:
- HF_FREE_TIER_ANALYSIS.md β†’ docs/architecture/
- TOOL_ANALYSIS_CRITICAL.md β†’ docs/future-roadmap/
- P3_REMOVE_ANTHROPIC_PARTIAL_WIRING.md β†’ docs/future-roadmap/

Active bugs remaining:
- P2: 7B model garbage output (investigating)
- P3: Progress bar positioning (low priority)

Files changed (20) hide show
  1. HF_FREE_TIER_ANALYSIS.md β†’ docs/architecture/HF_FREE_TIER_ANALYSIS.md +0 -0
  2. docs/bugs/ACTIVE_BUGS.md +59 -135
  3. P2_7B_MODEL_GARBAGE_OUTPUT.md β†’ docs/bugs/P2_7B_MODEL_GARBAGE_OUTPUT.md +0 -0
  4. docs/bugs/{AUDIT_FINDINGS_2025_11_30.md β†’ archive/AUDIT_FINDINGS_2025_11_30.md} +0 -0
  5. docs/bugs/{GRADIO_EXAMPLE_VS_CHAT_ARROW_ANALYSIS.md β†’ archive/GRADIO_EXAMPLE_VS_CHAT_ARROW_ANALYSIS.md} +0 -0
  6. docs/bugs/{P0_ADVANCED_MODE_TIMEOUT_NO_SYNTHESIS.md β†’ archive/P0_ADVANCED_MODE_TIMEOUT_NO_SYNTHESIS.md} +0 -0
  7. docs/bugs/{P0_AIFUNCTION_NOT_JSON_SERIALIZABLE.md β†’ archive/P0_AIFUNCTION_NOT_JSON_SERIALIZABLE.md} +0 -0
  8. docs/bugs/{P0_HUGGINGFACE_TOOL_CALLING_BROKEN.md β†’ archive/P0_HUGGINGFACE_TOOL_CALLING_BROKEN.md} +0 -0
  9. P0_REPR_BUG_ROOT_CAUSE_ANALYSIS.md β†’ docs/bugs/archive/P0_REPR_BUG_ROOT_CAUSE_ANALYSIS.md +0 -0
  10. docs/bugs/{P0_SIMPLE_MODE_FORCED_SYNTHESIS_BYPASS.md β†’ archive/P0_SIMPLE_MODE_FORCED_SYNTHESIS_BYPASS.md} +0 -0
  11. docs/bugs/{P0_SYNTHESIS_PROVIDER_MISMATCH.md β†’ archive/P0_SYNTHESIS_PROVIDER_MISMATCH.md} +0 -0
  12. docs/bugs/{P1_ADVANCED_MODE_UNINTERPRETABLE_CHAIN_OF_THOUGHT.md β†’ archive/P1_ADVANCED_MODE_UNINTERPRETABLE_CHAIN_OF_THOUGHT.md} +0 -0
  13. docs/bugs/{P1_HUGGINGFACE_NOVITA_500_ERROR.md β†’ archive/P1_HUGGINGFACE_NOVITA_500_ERROR.md} +0 -0
  14. docs/bugs/{P1_HUGGINGFACE_ROUTER_401_HYPERBOLIC.md β†’ archive/P1_HUGGINGFACE_ROUTER_401_HYPERBOLIC.md} +0 -0
  15. docs/bugs/{P1_SIMPLE_MODE_REMOVED_BREAKS_FREE_TIER_UX.md β†’ archive/P1_SIMPLE_MODE_REMOVED_BREAKS_FREE_TIER_UX.md} +0 -0
  16. docs/bugs/{P1_SYNTHESIS_BROKEN_KEY_FALLBACK.md β†’ archive/P1_SYNTHESIS_BROKEN_KEY_FALLBACK.md} +0 -0
  17. docs/bugs/{P2_ADVANCED_MODE_COLD_START_NO_FEEDBACK.md β†’ archive/P2_ADVANCED_MODE_COLD_START_NO_FEEDBACK.md} +0 -0
  18. P2_ARCHITECTURAL_BYOK_GAPS.md β†’ docs/bugs/archive/P2_ARCHITECTURAL_BYOK_GAPS.md +0 -0
  19. P3_REMOVE_ANTHROPIC_PARTIAL_WIRING.md β†’ docs/future-roadmap/P3_REMOVE_ANTHROPIC_PARTIAL_WIRING.md +0 -0
  20. TOOL_ANALYSIS_CRITICAL.md β†’ docs/future-roadmap/TOOL_ANALYSIS_CRITICAL.md +0 -0
HF_FREE_TIER_ANALYSIS.md β†’ docs/architecture/HF_FREE_TIER_ANALYSIS.md RENAMED
File without changes
docs/bugs/ACTIVE_BUGS.md CHANGED
@@ -1,167 +1,77 @@
1
  # Active Bugs
2
 
3
- > Last updated: 2025-12-02 (07:30 EST)
4
  >
5
  > **Note:** Completed bug docs archived to `docs/bugs/archive/`
6
- > **See also:** [Code Quality Audit Findings (2025-11-30)](AUDIT_FINDINGS_2025_11_30.md)
7
  > **See also:** [ARCHITECTURE.md](../ARCHITECTURE.md) for unified architecture plan
8
 
9
- ## P1 - High (ACTIVE)
10
-
11
- ### HuggingFace Novita Provider 500 Error
12
-
13
- **File:** `docs/bugs/P1_HUGGINGFACE_NOVITA_500_ERROR.md`
14
- **Status:** ACTIVE - Upstream Infrastructure Issue
15
-
16
- **Problem:** Free tier (no API key) fails with 500 error from Novita provider.
17
-
18
- **Cause:** HuggingFace routes Qwen/Qwen2.5-72B-Instruct to Novita (third-party), and Novita is returning 500 errors.
19
-
20
- **Fix Options:**
21
- 1. Switch to a model hosted natively by HuggingFace
22
- 2. Implement fallback model logic
23
- 3. Wait for Novita to fix their infrastructure
24
-
25
  ---
26
 
27
- ## Resolved Bugs
28
-
29
- ### ~~P0 - Repr Bug (Display Garbage)~~ FIXED
30
-
31
- **File:** `P0_REPR_BUG_ROOT_CAUSE_ANALYSIS.md`, `docs/specs/SPEC_17_ACCUMULATOR_PATTERN.md`
32
- **Found:** 2025-12-01
33
- **Resolved:** 2025-12-02 (PR #117)
34
-
35
- - Problem: Free tier showed `<agent_framework._types.ChatMessage object at 0x...>` instead of text
36
- - Root Cause: We were using API incorrectly - reading from `MagenticAgentMessageEvent.message` instead of `MagenticAgentDeltaEvent.text`
37
- - Fix: Implemented **Accumulator Pattern** (SPEC-17) - bypasses the upstream bug by using the API correctly
38
- - Note: Upstream fix (PR #2566) is now moot - we don't need it anymore
39
-
40
- ### ~~P0 - AIFunction Not JSON Serializable~~ FIXED
41
-
42
- **File:** `docs/bugs/P0_AIFUNCTION_NOT_JSON_SERIALIZABLE.md`
43
- **Found:** 2025-12-01
44
- **Resolved:** 2025-12-01
45
-
46
- - Problem: `HuggingFaceChatClient` crashed with "Object of type AIFunction is not JSON serializable".
47
- - Fix: Implemented full bi-directional tool support:
48
- 1. **Serialization**: Added `_convert_tools` (AIFunction β†’ OpenAI JSON)
49
- 2. **Parsing (Sync/Async)**: Added `_parse_tool_calls` and streaming accumulator
50
- - Result: Free Tier now supports full function calling capabilities with Qwen2.5-72B.
51
-
52
- ### ~~P1 - HuggingFace Router 401 Unauthorized~~ FIXED
53
-
54
- **File:** `docs/bugs/P1_HUGGINGFACE_ROUTER_401_HYPERBOLIC.md`
55
- **Found:** 2025-12-01
56
- **Resolved:** 2025-12-01
57
-
58
- - Problem: 401 errors from HuggingFace Router (Hyperbolic/Novita providers)
59
- - **Actual Root Cause:** HF_TOKEN in `.env` and Spaces secrets was **invalid/expired**
60
- - Fix: Generated new valid HF_TOKEN, updated `.env` and Spaces secrets
61
- - Also switched default model to `Qwen/Qwen2.5-72B-Instruct` for better reliability
62
-
63
- ### ~~P1 - Advanced Mode Exposes Uninterpretable Chain-of-Thought~~ FIXED
64
-
65
- **File:** `docs/bugs/P1_ADVANCED_MODE_UNINTERPRETABLE_CHAIN_OF_THOUGHT.md`
66
- **PR:** [#107](https://github.com/The-Obstacle-Is-The-Way/DeepBoner/pull/107)
67
- **Found:** 2025-12-01
68
- **Resolved:** 2025-12-01
69
 
70
- - Problem: Advanced mode exposed raw `task_ledger` and `instruction` events, truncated mid-word.
71
- - Fix: Filtered internal events, transformed `user_task` to progress type, smart sentence-aware truncation.
72
- - Tests: `tests/unit/orchestrators/test_advanced_events.py` (5 tests)
73
- - CodeRabbit review addressed: test markers, edge case handling, truncation test coverage.
74
 
75
- ### ~~P0 - Advanced Mode Timeout Yields No Synthesis~~ FIXED
 
76
 
77
- **File:** `docs/bugs/P0_ADVANCED_MODE_TIMEOUT_NO_SYNTHESIS.md`
78
- **Found:** 2025-11-30 (Manual Testing)
79
- **Resolved:** 2025-12-01
80
 
81
- - Problem: Advanced mode timed out and displayed "Synthesizing..." but no synthesis occurred.
82
- - Root Causes:
83
- 1. Timeout handler yielded misleading message without calling ReportAgent
84
- 2. Factory used wrong setting (`max_iterations=10` instead of `advanced_max_rounds=5`)
85
- 3. Missing `get_context_summary()` in ResearchMemory
86
- - Fix:
87
- 1. Implemented actual synthesis on timeout via ReportAgent invocation
88
- 2. Factory now uses `settings.advanced_max_rounds` (5)
89
- 3. Added `get_context_summary()` to ResearchMemory
90
- - Tests: `tests/unit/orchestrators/test_advanced_timeout.py`
91
- - Key files: `src/orchestrators/advanced.py`, `src/orchestrators/factory.py`, `src/services/research_memory.py`
92
 
93
- ### ~~P0 - Free Tier Synthesis Incorrectly Uses Server-Side API Keys~~ FIXED (Historical)
 
 
 
 
94
 
95
- **File:** `docs/bugs/P1_SYNTHESIS_BROKEN_KEY_FALLBACK.md`
96
- **PR:** [#103](https://github.com/The-Obstacle-Is-The-Way/DeepBoner/pull/103)
97
- **Found:** 2025-11-30 (Testing)
98
- **Resolved:** 2025-11-30
99
-
100
- - Problem: Simple Mode crashed with "OpenAIError" on HuggingFace Spaces.
101
- - Note: This was in the OLD Simple Mode. Now we use Unified Architecture.
102
-
103
- ### ~~P0 - Synthesis Fails with OpenAIError in Free Mode~~ FIXED (Historical)
104
-
105
- **File:** `docs/bugs/P0_SYNTHESIS_PROVIDER_MISMATCH.md`
106
- **Found:** 2025-11-30 (Code Audit)
107
- **Resolved:** 2025-11-30
108
-
109
- - Problem: "Simple Mode" (Free Tier) crashed with `OpenAIError`.
110
- - Note: This was in the OLD Simple Mode. Now we use Unified Architecture.
111
-
112
- ### ~~P0 - Simple Mode Never Synthesizes~~ FIXED (Historical)
113
-
114
- **PR:** [#71](https://github.com/The-Obstacle-Is-The-Way/DeepBoner/pull/71) (SPEC_06)
115
- **Commit**: `5cac97d` (2025-11-29)
116
-
117
- - Root cause: LLM-as-Judge recommendations were being IGNORED
118
- - Note: This was in the OLD Simple Mode. Now we use Unified Architecture.
119
-
120
- ### ~~P3 - Magentic Mode Missing Termination Guarantee~~ FIXED
121
 
122
- **Commit**: `d36ce3c` (2025-11-29)
123
 
124
- - Added `final_event_received` tracking in `orchestrator_magentic.py`
125
- - Added fallback yield for "max iterations reached" scenario
126
- - Verified with `test_magentic_termination.py`
127
 
128
- ### ~~P0 - Magentic Mode Report Generation~~ FIXED
129
 
130
- **Commit**: `9006d69` (2025-11-29)
131
 
132
- - Fixed `_extract_text()` to handle various message object formats
133
- - Increased `max_rounds=10` (was 3)
134
- - Added `temperature=1.0` for reasoning model compatibility
135
- - Advanced mode now produces full research reports
136
 
137
- ### ~~P1 - Streaming Spam + API Key Persistence~~ FIXED
138
 
139
- **Commit**: `0c9be4a` (2025-11-29)
140
 
141
- - Streaming events now buffered (not token-by-token spam)
142
- - API key persists across example clicks via `gr.State`
143
- - Examples use explicit `None` values to avoid overwriting keys
144
 
145
- ### ~~P2 - Missing "Thinking" State~~ FIXED
146
 
147
- **Commit**: `9006d69` (2025-11-29)
148
 
149
- - Added `"thinking"` event type with hourglass icon
150
- - Yields "Multi-agent reasoning in progress..." before blocking workflow call
151
- - Users now see feedback during 2-5 minute initial processing
152
 
153
- ### ~~P2 - Gradio Example Not Filling Chat Box~~ FIXED
154
 
155
- **Commit**: `2ea01fd` (2025-11-29)
156
 
157
- - Third example (HSDD) wasn't populating chat box when clicked
158
- - Root cause: Parentheses in `HSDD (Hypoactive Sexual Desire Disorder)`
159
- - Fix: Simplified to `Testosterone therapy for Hypoactive Sexual Desire Disorder?`
 
 
 
 
160
 
161
- ### ~~P1 - Gradio Settings Accordion~~ WONTFIX
 
 
 
 
 
162
 
163
- Decision: Removed nested Blocks, using ChatInterface directly.
164
- Accordion behavior is default Gradio - acceptable for demo.
 
165
 
166
  ---
167
 
@@ -170,4 +80,18 @@ Accordion behavior is default Gradio - acceptable for demo.
170
  1. Create `docs/bugs/P{N}_{SHORT_NAME}.md`
171
  2. Include: Symptom, Root Cause, Fix Plan, Test Plan
172
  3. Update this index
173
- 4. Priority: P0=blocker, P1=important, P2=UX, P3=edge case
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  # Active Bugs
2
 
3
+ > Last updated: 2025-12-03
4
  >
5
  > **Note:** Completed bug docs archived to `docs/bugs/archive/`
 
6
  > **See also:** [ARCHITECTURE.md](../ARCHITECTURE.md) for unified architecture plan
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  ---
9
 
10
+ ## Currently Active Bugs
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
+ ### P2 - 7B Model Produces Garbage Streaming Output
 
 
 
13
 
14
+ **File:** `docs/bugs/P2_7B_MODEL_GARBAGE_OUTPUT.md`
15
+ **Status:** OPEN - Investigating
16
 
17
+ **Problem:** When running Free Tier (Qwen2.5-7B-Instruct), the streaming output shows garbage tokens like "yarg", "PostalCodes", "FunctionFlags" instead of coherent agent reasoning.
 
 
18
 
19
+ **Root Cause:** The 7B model has insufficient reasoning capacity for the complex multi-agent framework prompts.
 
 
 
 
 
 
 
 
 
 
20
 
21
+ **Potential Fixes:**
22
+ 1. Switch to a better small model (Mistral-7B, Phi-3, Gemma-2-9B, Qwen2.5-14B)
23
+ 2. Simplify Free Tier architecture to single-agent mode
24
+ 3. Add output filtering/validation
25
+ 4. Prompt engineering specifically for 7B models
26
 
27
+ ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
 
29
+ ### P3 - Progress Bar Positioning in ChatInterface
30
 
31
+ **File:** `docs/bugs/P3_PROGRESS_BAR_POSITIONING.md`
32
+ **Status:** OPEN - Low Priority UX Polish
 
33
 
34
+ **Problem:** The `gr.Progress()` bar renders in a strange position when used inside ChatInterface, causing visual overlap with chat messages.
35
 
36
+ **Recommended Fix:** Remove `gr.Progress()` entirely and rely on emoji status messages in chat output.
37
 
38
+ ---
 
 
 
39
 
40
+ ## Tech Debt (Future Roadmap)
41
 
42
+ ### P3 - Remove Anthropic Partial Wiring
43
 
44
+ **File:** `docs/future-roadmap/P3_REMOVE_ANTHROPIC_PARTIAL_WIRING.md`
45
+ **Status:** OPEN - Tech Debt
 
46
 
47
+ **Problem:** Anthropic is partially wired but NOT fully supported (no embeddings API). Creates confusion.
48
 
49
+ **Fix:** Remove all Anthropic references from codebase. See doc for file list.
50
 
51
+ ---
 
 
52
 
53
+ ## Resolved Bugs (December 2025)
54
 
55
+ All resolved bugs have been moved to `docs/bugs/archive/`. Summary:
56
 
57
+ ### P0 Bugs (All FIXED)
58
+ - **P0 Repr Bug** - FIXED in PR #117 via Accumulator Pattern
59
+ - **P0 AIFunction Not JSON Serializable** - FIXED, full tool support for HuggingFace
60
+ - **P0 HuggingFace Tool Calling Broken** - FIXED, history serialization + Accumulator Pattern
61
+ - **P0 Simple Mode Forced Synthesis Bypass** - N/A, simple.py deleted (Unified Architecture)
62
+ - **P0 Synthesis Provider Mismatch** - FIXED, auto-detect in judges.py
63
+ - **P0 Advanced Mode Timeout No Synthesis** - FIXED, actual synthesis on timeout
64
 
65
+ ### P1 Bugs (All FIXED)
66
+ - **P1 HuggingFace Router 401 Hyperbolic** - FIXED, invalid token was root cause
67
+ - **P1 HuggingFace Novita 500 Error** - SUPERSEDED, switched to 7B model
68
+ - **P1 Advanced Mode Uninterpretable Chain-of-Thought** - FIXED in PR #107
69
+ - **P1 Synthesis Broken Key Fallback** - FIXED in PR #103
70
+ - **P1 Simple Mode Removed Breaks Free Tier UX** - FIXED via Accumulator Pattern (PR #117)
71
 
72
+ ### P2 Bugs (All FIXED)
73
+ - **P2 Advanced Mode Cold Start No Feedback** - FIXED, all phases complete
74
+ - **P2 Architectural BYOK Gaps** - FIXED, end-to-end BYOK support in PR #119
75
 
76
  ---
77
 
 
80
  1. Create `docs/bugs/P{N}_{SHORT_NAME}.md`
81
  2. Include: Symptom, Root Cause, Fix Plan, Test Plan
82
  3. Update this index
83
+ 4. Priority: P0=blocker, P1=important, P2=UX, P3=edge case/tech debt
84
+
85
+ ---
86
+
87
+ ## Archived Documentation
88
+
89
+ The following have been moved to `docs/bugs/archive/`:
90
+ - All resolved P0-P2 bug reports
91
+ - Code quality audit findings (2025-11-30)
92
+ - Gradio example vs chat arrow analysis
93
+
94
+ Additional documentation moved:
95
+ - `HF_FREE_TIER_ANALYSIS.md` β†’ `docs/architecture/`
96
+ - `TOOL_ANALYSIS_CRITICAL.md` β†’ `docs/future-roadmap/`
97
+ - `P3_REMOVE_ANTHROPIC_PARTIAL_WIRING.md` β†’ `docs/future-roadmap/`
P2_7B_MODEL_GARBAGE_OUTPUT.md β†’ docs/bugs/P2_7B_MODEL_GARBAGE_OUTPUT.md RENAMED
File without changes
docs/bugs/{AUDIT_FINDINGS_2025_11_30.md β†’ archive/AUDIT_FINDINGS_2025_11_30.md} RENAMED
File without changes
docs/bugs/{GRADIO_EXAMPLE_VS_CHAT_ARROW_ANALYSIS.md β†’ archive/GRADIO_EXAMPLE_VS_CHAT_ARROW_ANALYSIS.md} RENAMED
File without changes
docs/bugs/{P0_ADVANCED_MODE_TIMEOUT_NO_SYNTHESIS.md β†’ archive/P0_ADVANCED_MODE_TIMEOUT_NO_SYNTHESIS.md} RENAMED
File without changes
docs/bugs/{P0_AIFUNCTION_NOT_JSON_SERIALIZABLE.md β†’ archive/P0_AIFUNCTION_NOT_JSON_SERIALIZABLE.md} RENAMED
File without changes
docs/bugs/{P0_HUGGINGFACE_TOOL_CALLING_BROKEN.md β†’ archive/P0_HUGGINGFACE_TOOL_CALLING_BROKEN.md} RENAMED
File without changes
P0_REPR_BUG_ROOT_CAUSE_ANALYSIS.md β†’ docs/bugs/archive/P0_REPR_BUG_ROOT_CAUSE_ANALYSIS.md RENAMED
File without changes
docs/bugs/{P0_SIMPLE_MODE_FORCED_SYNTHESIS_BYPASS.md β†’ archive/P0_SIMPLE_MODE_FORCED_SYNTHESIS_BYPASS.md} RENAMED
File without changes
docs/bugs/{P0_SYNTHESIS_PROVIDER_MISMATCH.md β†’ archive/P0_SYNTHESIS_PROVIDER_MISMATCH.md} RENAMED
File without changes
docs/bugs/{P1_ADVANCED_MODE_UNINTERPRETABLE_CHAIN_OF_THOUGHT.md β†’ archive/P1_ADVANCED_MODE_UNINTERPRETABLE_CHAIN_OF_THOUGHT.md} RENAMED
File without changes
docs/bugs/{P1_HUGGINGFACE_NOVITA_500_ERROR.md β†’ archive/P1_HUGGINGFACE_NOVITA_500_ERROR.md} RENAMED
File without changes
docs/bugs/{P1_HUGGINGFACE_ROUTER_401_HYPERBOLIC.md β†’ archive/P1_HUGGINGFACE_ROUTER_401_HYPERBOLIC.md} RENAMED
File without changes
docs/bugs/{P1_SIMPLE_MODE_REMOVED_BREAKS_FREE_TIER_UX.md β†’ archive/P1_SIMPLE_MODE_REMOVED_BREAKS_FREE_TIER_UX.md} RENAMED
File without changes
docs/bugs/{P1_SYNTHESIS_BROKEN_KEY_FALLBACK.md β†’ archive/P1_SYNTHESIS_BROKEN_KEY_FALLBACK.md} RENAMED
File without changes
docs/bugs/{P2_ADVANCED_MODE_COLD_START_NO_FEEDBACK.md β†’ archive/P2_ADVANCED_MODE_COLD_START_NO_FEEDBACK.md} RENAMED
File without changes
P2_ARCHITECTURAL_BYOK_GAPS.md β†’ docs/bugs/archive/P2_ARCHITECTURAL_BYOK_GAPS.md RENAMED
File without changes
P3_REMOVE_ANTHROPIC_PARTIAL_WIRING.md β†’ docs/future-roadmap/P3_REMOVE_ANTHROPIC_PARTIAL_WIRING.md RENAMED
File without changes
TOOL_ANALYSIS_CRITICAL.md β†’ docs/future-roadmap/TOOL_ANALYSIS_CRITICAL.md RENAMED
File without changes