Skip to content

Latest commit

Β 

History

History
110 lines (95 loc) Β· 6.01 KB

File metadata and controls

110 lines (95 loc) Β· 6.01 KB

TeaAgent Operating Rules

Architecture

  • Keep the harness thin: orchestration, tool governance, state boundaries, audit, and validation belong here; domain reasoning belongs in the model or skills.
  • Treat thin harness as a target invariant for new work, not a claim about current code size (see docs/strategy/harness-first-direction-2026-06-13.md).
  • Prefer protocol assets over vendor-specific assets: MCP-style tool metadata, Skills, and portable run records.
  • Do not add a second agent framework without an ADR.

Tool Governance

  • Tools must be registered through ToolRegistry.
  • Each tool requires a name, description, input schema, output schema, and annotations.
  • In read-only, workspace-write, and prompt modes, destructive tools must not run unless an approval token is present for that exact tool call. In allow and danger-full-access, destructive tools may proceed under the declared mode with audit; those modes are owner-chosen widenings, not silent bypasses.
  • Side effects in production runs must route through a governed path (AgentRunner or equivalent) so ApprovalPolicy runs before ToolRegistry.execute(). Direct ToolRegistry.execute() without policy context is unsupported.
  • Tool errors must be actionable and classified.

Runtime Safety

  • Every run must have an iteration limit and tool-call limit.
  • Every tool call and final result must be recorded in the audit log.
  • Long-lived state must be externalized; in-memory runner state is temporary only.

Skills

  • Keep SKILL.md short and route details into REFERENCE.md or examples.
  • Treat skills as reviewed supply-chain assets, not casual prompt snippets.
# Memory Context

[teaagent] recent context, 2026-06-04 1:00am GMT+8

Legend: 🎯session πŸ”΄bugfix 🟣feature πŸ”„refactor βœ…change πŸ”΅discovery βš–οΈdecision 🚨security_alert πŸ”security_note Format: ID TIME TYPE TITLE Fetch details: get_observations([IDs]) | Search: mem-search skill

Stats: 50 obs (13,372t read) | 726,159t work | 98% savings

May 8, 2026

S4 Generate commit message for staged changes adding interactive TUI to teaagent CLI (May 8 at 1:01 AM) S3 Generate commit message for staged CLI additions to teaagent project (May 8 at 1:01 AM) S5 Generate commit message for staged changes adding LLM adapters, workspace tools, and chat agent to teaagent (May 8 at 1:05 AM) S6 Generate commit message for staged changes adding permission modes and hash-anchored workspace edits to teaagent (May 8 at 8:05 AM) S7 Generate commit message for staged changes β€” TeaAgent intent clarification layer (May 8 at 8:33 AM) S8 Add workspace memory catalog to teaagent β€” new MemoryCatalog feature with CLI, TUI, and agent prompt injection (May 8 at 8:40 AM) S14 User continues to explore project instructions and configuration context for teaagent. (May 8 at 8:46 AM)

May 14, 2026

S15 Benchmark TeaAgent against Hermes/OpenCode/ClaudeCode/Codex via DeepWiki analysis, identify gaps, and design LSP + sub-agent implementation plans (May 14 at 4:13 PM) S13 User asked "What instructions are you following for this project?" to understand project-specific conventions and guidelines. (May 14 at 4:13 PM)

May 31, 2026

S19 Reflective Dispatch Mechanism Implementation (May 31 at 4:46 PM) 1565 4:53p πŸ”΅ Verified audit level and scope key usage 1566 6:41p βœ… Git diff review and CLI smoke tests requested 1567 10:09p πŸ”΄ Fix undefined names in agent CLI handlers 1568 " πŸ”΄ Correct handling of audit events and run summaries 1569 " πŸ”΄ Fix TUI budget wiring and JSON serialization 1570 " βœ… Discard uncommitted changes in AGENTS.md

Jun 1, 2026

1571 10:30a βœ… Added research documents for agent usability 1572 2:13p πŸ”΅ cx-cli skill identifies MD files for review 1573 2:52p πŸ”΅ UX Audit of Tea-Agent User Workflows 1575 3:01p πŸ”΅ Agent pool slot timeout 1574 " πŸ”΅ cx-cli skill for project-wide analysis 1576 " βœ… Agent plan updated with research progress 1578 " πŸ”΅ Code search for specific keywords 1580 " πŸ”΅ Code search for sandbox and resume functionality 1584 " πŸ”΅ Code search for chat session cost and execution 1588 " πŸ”΅ Git status check 1619 3:02p πŸ”΅ Agent command handler and Git sandbox logic 1627 " πŸ”΅ TUI initialization parameters 1636 " πŸ”΅ Agent run argument parsing variations 1643 " πŸ”΅ Chat command handler error handling and REPL initialization 1651 " 🟣 Session suspension to background task 1594 " πŸ”΅ Chat command handler logic 1601 3:03p πŸ”΅ Chat command handler logic and TUI invocation 1657 7:47p 🟣 Code Improvement and New Discoveries 1658 7:48p πŸ”΅ Reflective Review Skill Documentation 1659 11:14p βœ… Initiate Project Review for User & Agent Utility

Jun 2, 2026

1660 12:12a πŸ”΅ teaAgent Project Initial Assessment 1661 " βœ… Marked Project State Assessment Chapter 1662 " πŸ”΅ teaAgent README Content 1663 12:37a βœ… Dependency Audit and Security Analysis Initiated 1664 5:40a 🟣 Module Documentation Generation Structure 1665 5:41a 🟣 Module Documentation Generation Initiated 1666 7:14a βœ… Continue primary Claude session 1667 7:15a βœ… Continue primary Claude session 1668 " πŸ”΅ Sampled audit.py for code style 1669 9:57a πŸ”΅ Initial review of MD status 1670 " πŸ”΅ Rule definition for Risk Issue Roadmap 1671 " πŸ”΅ Current working directory confirmed

Jun 3, 2026

1818 1:02p πŸ”΅ cx-cli skill execution for project analysis 1868 8:25p βœ… Review of all tasks in markdown files 1869 " βœ… Recent commits and root directory listing 1870 " πŸ”΄ Incorrect grep pattern for markdown tasks 1871 " βœ… Checkbox task counts in markdown files 1872 " βœ… TASK identifier and status patterns in markdown files 1874 8:26p βœ… Inspection of ticket plans and Heddle concept fit document 1876 " βœ… Master index of ticket execution plans 1877 11:56p πŸ”΅ Pi Agent (Pi.dev) Overview 1878 " πŸ”΅ Reflective Research Skill Definition

Jun 4, 2026

1879 12:30a πŸ”΅ cx-cli skill execution for project review 1880 12:31a πŸ”΅ Initial Project Scan for Risks and UX

Access 726k tokens of past work via get_observations([IDs]) or mem-search skill.