create-arete-workspace 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/package.json +1 -1
- package/packages/gatsaeng-os/python/api_server.py +1 -1
- package/packages/gatsaeng-os/python/config.py +3 -3
- package/packages/gatsaeng-os/python/telegram_bot.py +1 -1
- package/packages/gatsaeng-os/python/vault_io.py +1 -1
- package/packages/gatsaeng-os/src/app/api/profile/route.ts +1 -1
- package/packages/gatsaeng-os/src/app/api/voice/chat/route.ts +1 -1
- package/packages/gatsaeng-os/src/components/dashboard/DashboardGrid.tsx +6 -6
- package/packages/gatsaeng-os/src/components/onboarding/OnboardingFlow.tsx +1 -1
- package/templates/workspace/AGENTS.md.tmpl +20 -2
- package/templates/workspace/SOUL.md.tmpl +1 -1
package/README.md
CHANGED
|
@@ -70,6 +70,24 @@ arete update
|
|
|
70
70
|
|
|
71
71
|
`arete update` only touches Layer 1 files (scripts, templates). Your personal configuration files (SOUL.md, AGENTS.md, MEMORY.md, USER.md, etc.) are never modified during updates.
|
|
72
72
|
|
|
73
|
+
## Changelog
|
|
74
|
+
|
|
75
|
+
### v0.3.0
|
|
76
|
+
- **AGENTS.md**: Added "Find the Strategic Crux" 5-step process in Plan-CEO Review
|
|
77
|
+
- **AGENTS.md**: Added `[TLDR]` command trigger for executive summaries
|
|
78
|
+
- **AGENTS.md**: Added ACCEPTANCE CRITERIA (Given/When/Then) to spawn prompt template
|
|
79
|
+
- **AGENTS.md**: Added Memory Bridge rules (read-before-write, cross-agent awareness, conflict resolution, staleness guard)
|
|
80
|
+
- **SOUL.md**: Confrontation Rule, Accountability Rule, Upgrade Rule confirmed present
|
|
81
|
+
- Removed hardcoded personal info from packages/ (genericized for starter kit)
|
|
82
|
+
|
|
83
|
+
### v0.2.0
|
|
84
|
+
- Initial public release with full ARETE workspace templates
|
|
85
|
+
- 갓생OS dashboard with neuroscience engine
|
|
86
|
+
- FORGE workflow, Tracer agent, Memory Bridge, session indexer
|
|
87
|
+
|
|
88
|
+
### v0.1.0
|
|
89
|
+
- Project scaffolding and CLI setup
|
|
90
|
+
|
|
73
91
|
## Requirements
|
|
74
92
|
|
|
75
93
|
- Node.js 18+
|
package/package.json
CHANGED
|
@@ -50,6 +50,6 @@ LIMITS = {
|
|
|
50
50
|
'MIN_REANALYSIS_WEEKS': 2,
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
#
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
# Optional: timing/astrology workspace (configure your own path)
|
|
54
|
+
# TIMING_HELPER_WORKSPACE = Path(os.path.expanduser('~/.openclaw/workspace-timing-helper'))
|
|
55
|
+
# TIMING_KB_PATH = Path(os.path.expanduser('~/Documents/timing-kb'))
|
|
@@ -24,7 +24,7 @@ logger = logging.getLogger(__name__)
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
def is_authorized(update: Update) -> bool:
|
|
27
|
-
"""Only allow
|
|
27
|
+
"""Only allow authorized user (chat_id from config)."""
|
|
28
28
|
if not TELEGRAM_CHAT_ID:
|
|
29
29
|
return True
|
|
30
30
|
return str(update.effective_chat.id) == TELEGRAM_CHAT_ID.replace('tg:', '')
|
|
@@ -4,7 +4,7 @@ import { profileSchema } from '@/lib/vault/schemas'
|
|
|
4
4
|
import type { Profile } from '@/types'
|
|
5
5
|
|
|
6
6
|
export async function GET() {
|
|
7
|
-
// Return full profile without schema filtering (allows
|
|
7
|
+
// Return full profile without schema filtering (allows custom fields)
|
|
8
8
|
const result = await getProfile()
|
|
9
9
|
return NextResponse.json(result.data)
|
|
10
10
|
}
|
|
@@ -5,7 +5,7 @@ import { governorCheck, governorRecord, estimateCost } from '@/lib/llm-governor'
|
|
|
5
5
|
const openai = new OpenAI()
|
|
6
6
|
|
|
7
7
|
const SYSTEM_PROMPT =
|
|
8
|
-
'당신은 Eve입니다.
|
|
8
|
+
'당신은 Eve입니다. 사용자의 EA(Executive Assistant)이자 Chief of Staff. 나긋나긋한 톤, 속은 칼. 응답은 한국어로, 3문장 이하로 간결하게. 음성 응답이므로 마크다운 없이 자연스러운 말투로.'
|
|
9
9
|
|
|
10
10
|
export async function POST(req: NextRequest) {
|
|
11
11
|
try {
|
|
@@ -54,15 +54,15 @@ export function DashboardGrid() {
|
|
|
54
54
|
{/* Zeigarnik panel */}
|
|
55
55
|
{activeWidgets.includes('zeigarnik') && <ZeigarnikPanel />}
|
|
56
56
|
|
|
57
|
-
{/*
|
|
58
|
-
{profile?.
|
|
57
|
+
{/* Personal motto banner */}
|
|
58
|
+
{profile?.motto && (
|
|
59
59
|
<div className="border border-gatsaeng-purple/30 bg-gatsaeng-purple/5 rounded-lg px-4 py-3">
|
|
60
60
|
<div className="text-[10px] uppercase tracking-wider text-gatsaeng-purple/60 mb-1">
|
|
61
|
-
|
|
61
|
+
모토
|
|
62
62
|
</div>
|
|
63
|
-
<p className="text-sm text-foreground font-medium">{profile.
|
|
64
|
-
{profile.
|
|
65
|
-
<p className="text-xs text-muted-foreground mt-1">{profile.
|
|
63
|
+
<p className="text-sm text-foreground font-medium">{profile.motto}</p>
|
|
64
|
+
{profile.identity && (
|
|
65
|
+
<p className="text-xs text-muted-foreground mt-1">{profile.identity}</p>
|
|
66
66
|
)}
|
|
67
67
|
</div>
|
|
68
68
|
)}
|
|
@@ -97,7 +97,7 @@ export function OnboardingFlow({ onComplete }: OnboardingFlowProps) {
|
|
|
97
97
|
<Input
|
|
98
98
|
value={data.display_name}
|
|
99
99
|
onChange={e => update('display_name', e.target.value)}
|
|
100
|
-
placeholder="
|
|
100
|
+
placeholder="Your Name"
|
|
101
101
|
className="mt-1"
|
|
102
102
|
autoFocus
|
|
103
103
|
/>
|
|
@@ -13,6 +13,7 @@ Other agents: see BOOTSTRAP.md § 0 for agent-specific entry points.
|
|
|
13
13
|
- **`[SEARCH:ARCHIVE]`**: Search historical memory files (7+ days old)
|
|
14
14
|
- **`[PRUNE]`**: Review and compress memory files
|
|
15
15
|
- **`[OPTIMIZE]`**: Run AgentLinter and self-correct
|
|
16
|
+
- **`[TLDR]`**: Compress current conversation to a 3-bullet executive summary (context, decision needed, recommended action)
|
|
16
17
|
|
|
17
18
|
## Self-Improvement Protocol
|
|
18
19
|
- On error → auto-record in `.learnings/`
|
|
@@ -51,6 +52,13 @@ User talks to {{AGENT_NAME}} only. {{AGENT_NAME}} routes to domain agents.
|
|
|
51
52
|
- Runs on cron: domain agent results → memory/YYYY-MM-DD.md auto-append
|
|
52
53
|
- {{AGENT_NAME}} reads today's daily log at session start to know all agent work results
|
|
53
54
|
|
|
55
|
+
#### Memory Bridge Rules
|
|
56
|
+
1. **Read before write**: Always check today's daily log before appending to avoid duplicates.
|
|
57
|
+
2. **Cross-agent awareness**: When referencing another agent's output, cite the source session ID.
|
|
58
|
+
3. **No blind forwarding**: Summarize domain agent results before passing to user — raw logs are noise.
|
|
59
|
+
4. **Conflict resolution**: If two agents produce contradictory results, flag the conflict and present both. Never silently pick one.
|
|
60
|
+
5. **Staleness guard**: Daily log entries older than 24 hours are context, not current state. Verify before acting on them.
|
|
61
|
+
|
|
54
62
|
### FORGE Completion Protocol
|
|
55
63
|
After FORGE work completes, {{AGENT_NAME}} must:
|
|
56
64
|
1. Run `git -C <repo> log --oneline -5` → verify commit summary
|
|
@@ -76,10 +84,14 @@ Before any code, Socratic questions to eliminate hidden assumptions:
|
|
|
76
84
|
- "Is there something similar that already exists but isn't being used?"
|
|
77
85
|
→ Score clarity. Unclear → more questions. Clear → next step.
|
|
78
86
|
|
|
79
|
-
**Steps 1-
|
|
87
|
+
**Steps 1-5: Find the Strategic Crux**
|
|
80
88
|
1. **Real user problem**: "What's the actual problem behind this request?"
|
|
81
89
|
2. **10-star version**: Current request = how many stars? Where's 10-star?
|
|
82
|
-
3. **
|
|
90
|
+
3. **Assumption audit**: List every assumption behind this request. Rank by "if wrong, how catastrophic?"
|
|
91
|
+
4. **Identify the crux**: The top-ranked assumption = the Strategic Crux. The single decision/assumption that determines success or failure.
|
|
92
|
+
5. **Validate before building**: Design a test for the crux BEFORE any code. Crux fails → pivot or kill. No sunk-cost fallacy.
|
|
93
|
+
|
|
94
|
+
**Mode selection** (user decides after crux is validated):
|
|
83
95
|
|
|
84
96
|
| Mode | Position | When |
|
|
85
97
|
|------|----------|------|
|
|
@@ -118,6 +130,12 @@ WHAT
|
|
|
118
130
|
- Exact deliverable expected
|
|
119
131
|
- Expected output: scope, tests, commits, report format
|
|
120
132
|
|
|
133
|
+
ACCEPTANCE CRITERIA
|
|
134
|
+
- Given [precondition]
|
|
135
|
+
- When [action]
|
|
136
|
+
- Then [expected outcome]
|
|
137
|
+
(Minimum 1 Given/When/Then per deliverable. No criteria = no spawn.)
|
|
138
|
+
|
|
121
139
|
CONSTRAINTS
|
|
122
140
|
- Absolute prohibitions / limits / quality bar
|
|
123
141
|
- e.g.: Test First, absolute paths only, specific directory read-only, perf/security conditions
|
|
@@ -226,7 +226,7 @@ As the system scales, "good enough" doesn't exist. Standards rise proportional t
|
|
|
226
226
|
|
|
227
227
|
- **Personal/company sensitive info**: Minimum collection, minimum exposure
|
|
228
228
|
- **Illegal/harmful/impersonation/PII requests**: Politely decline + suggest alternative
|
|
229
|
-
- **Medical/legal/
|
|
229
|
+
- **Medical/legal/financial high-risk**:
|
|
230
230
|
- Uncertainty disclosure required
|
|
231
231
|
- Use credible sources when possible
|
|
232
232
|
- Recommend professional consultation for final judgment
|