Skip to content

Add initial Agent Skills Spec#2

Merged
klazuka merged 1 commit intomainfrom
klazuka/spec
Oct 16, 2025
Merged

Add initial Agent Skills Spec#2
klazuka merged 1 commit intomainfrom
klazuka/spec

Conversation

@klazuka
Copy link
Copy Markdown
Collaborator

@klazuka klazuka commented Oct 16, 2025

No description provided.

@maheshmurag maheshmurag self-requested a review October 16, 2025 14:58
@klazuka klazuka merged commit 10e0fbe into main Oct 16, 2025
seanphan pushed a commit to PixelML/skills that referenced this pull request Oct 20, 2025
…-detection

Implements robust auth strategy based on MCP Server TypeScript implementation:

Auth Architecture Changes:
- Hybrid auth: persistent browser profile (user_data_dir) + manual cookie injection
- Fixes Playwright bug #36139: Session cookies now persist correctly
- Real Chrome via channel="chrome" instead of Chromium (cross-platform reliability)
- Remove automation detection: ignore_default_args=["--enable-automation"]
- Manual cookie injection from state.json for session cookie persistence

Technical Details:
- Python's launch_persistent_context doesn't support storage_state parameter (unlike TypeScript)
- Workaround: Launch with user_data_dir, then manually inject cookies via context.add_cookies()
- Browser profile stores: fingerprint + persistent cookies + cache
- state.json stores: ALL cookies including session cookies (expires=-1)
- This ensures both consistent fingerprinting AND reliable session cookie persistence

Files Changed:
- scripts/ask_question.py: Add hybrid auth + ignore_default_args
- scripts/auth_manager.py: Update setup_auth() and validate_auth() with new approach
- scripts/setup_environment.py: Install Chrome instead of Chromium
- requirements.txt: Add Chrome installation note
- README.md: Add Chrome installation section with rationale
- AUTHENTICATION.md: NEW - Complete auth architecture documentation

Why This Fixes Issue anthropics#2:
- Session cookies (without Expires) were lost on restart (Playwright bug)
- Chromium had cross-platform reliability issues
- Manual cookie injection ensures session cookies persist
- Real Chrome ensures consistent behavior across systems

References:
- Playwright Issue #36139: Session cookies not persisting
- Playwright Issue #14949: storage_state with persistent context
- Based on: notebooklm-mcp TypeScript implementation
Okeysir198 referenced this pull request in Okeysir198/P20251122-claude-skills Nov 21, 2025
⚠️ PRODUCTION BLOCKER IDENTIFIED ⚠️

After comprehensive execution flow analysis, discovered critical deadlock
in streaming implementation that will cause hangs in production.

Critical Bug #1: DEADLOCK in end_input() Flow
---------------------------------------------
- When end_input() is called, client stops sending audio
- Client does NOT notify server that streaming is complete
- Server waits for more audio indefinitely
- Client waits for final transcriptions indefinitely
- MUTUAL DEADLOCK - both sides waiting forever

Current Flow (BROKEN):
1. User calls stream.end_input()
2. _send_loop() receives None sentinel and exits
3. But _send_loop() does NOT send end-of-stream message to server
4. Server continues waiting for audio
5. _recv_loop() waits for server messages
6. User waits for async iteration to complete
7. DEADLOCK

Impact:
- Any code using end_input() will hang indefinitely
- Tests only pass because they use timeouts + explicit aclose()
- Will cause production outages

Reproduction:
```python
stream = stt.stream()
# ... push frames ...
await stream.end_input()
async for event in stream:  # HANGS FOREVER
    print(event)
```

Additional Bugs Found:
---------------------
- Bug #2: Multiple None sentinels queued (end_input + aclose)
- Bug #3: Frames accepted after end_input() (silent data loss)
- Bug #5: Unnecessary None queued in aclose() before cancellation

Files Added:
- CRITICAL_BUGS.md - Detailed execution trace and bug analysis
- FIXES_REQUIRED.md - Complete fix implementation with code

Current Status: ❌ NOT PRODUCTION READY
Next Steps: Implement fixes in FIXES_REQUIRED.md (~3 hours)

Tests pass currently only due to timeout workarounds masking the deadlock.
xjrmh pushed a commit to xjrmh/skills that referenced this pull request Mar 3, 2026
paulgnz added a commit to XPRNetwork/skills that referenced this pull request Mar 18, 2026
Updates from merged PRs:
- Fix LOAN protocol docs: lending.loan contract, shares.loan L-tokens, mint/redeem actions (anthropics#4)
- Fix staking actions: eosio::stakexpr not eosio.proton::stake (anthropics#6)
- Document all-numeric account name RPC bug with workarounds (anthropics#5)
- Add proton.swaps AMM pool documentation
- Add critical DEX deposit memo warning
- Replace stale proton.greymass.com endpoints with active ones
- Clarify mobile wallet critical settings (anthropics#2)
- Add verified P2P peers (#1)

Co-Authored-By: charliebot87 <charliebot87@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

2 participants