Skip to content

Commit f765bce

Browse files
committed
add: CLI smos; modify: usage introduction; fix: docs formatting;
1 parent 06037bc commit f765bce

File tree

7 files changed

+83
-79
lines changed

7 files changed

+83
-79
lines changed

README.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Track Template by Second Mind OS (SMOS)
1+
# Track Template Protocol by Second Mind OS (SMOS)
22

33
> Track your thinking. Loop your learning. Build public artifacts. Powered by SMOS.
44
@@ -41,14 +41,16 @@ This is the **official template** for constructing trackable learning systems fr
4141

4242
```mermaid
4343
graph TD
44-
A[Engage with Content] --> B[Build Project / Problem]
44+
A[Engage with Content] --> B[Note Docs / Build Project / Problem]
4545
B --> C[P.A.C.E.R. Loop]
4646
C --> D[Write Logs + Loop Claim]
4747
D --> E[Claim ⌬ Symbol]
4848
E --> F[Public Output in outputs/]
4949
F --> G[Emit JSON to Personal Site]
5050
```
5151

52+
> Note → Log → Loop → Output
53+
5254
### 🔁 P.A.C.E.R. Loop Protocol
5355

5456
Each learning unit runs through the **P.A.C.E.R. loop** — a minimal feedback protocol for deliberate skill formation:
@@ -72,20 +74,22 @@ Each folder in `loop/Week-X/` should contain a `pacer.yaml` or markdown journal
7274
→ Serve `outputs/` as public-facing artifacts
7375

7476
3. **Loop Structure**
75-
77+
- New loop via CLI (Recommend) `python scripts/smos.py week-01 --topic="Memory & Pointers"`
7678
- Drop notes into `docs/`
77-
- Launch a loop via `loop/week-01/pacer.yaml`
78-
- Push deliverables to `outputs/`
7979
- Write blockers / insight logs in `logs/`
80+
- Launch a loop via `loop/week-01/pacer.yaml`, `loop/week-01/claim.md`, `loop/week-01/reflect.md`
81+
- Push deliverables to `outputs/`
8082

8183
#### Example:
8284

8385
```bash
8486
track-cs50x/
8587
├── docs/week-01.md # Schema of memory model
88+
├── logs/YYYY-MM-DD-week-01.md # Blocker resolution
8689
├── loop/week-01/pacer.yaml # P.A.C.E.R. config
87-
├── outputs/pset1-mario.md # Artifact: reflection + code
88-
├── logs/2025-05-16-pointer-log.md # Blocker resolution
90+
├── loop/week-01/claim.md # Distilled knowledge lock
91+
├── loop/week-01/reflect.md # Meta-log & feedback
92+
├── outputs/week-01-output.md # Artifact: reflection + code
8993
```
9094

9195
#### Naming Convention (Optional):

docs/week-01.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
# Week 01 — [Insert Topic Title Here]
1+
# Week 01 — [Topic]
22

33
> Track: [track-name]
44
> Week: 01
55
> Protocol: Second Mind OS
66
> Format: Verified Thinking Notes + Schema-Driven Capture
77
8-
## OBJECTIVE
8+
## Objective
99

1010
- **Core Concept(s)**: What is being learned this week?
1111
- **Outcome**: What am I expected to produce or understand?
1212
- **Protocol Scope**: This note follows the PACER loop → it serves as a **Check + Reflect** anchor.
1313

14-
## CONCEPT MAP / SCHEMA
14+
## Concept Map / Schema
1515

1616
> Use this section to describe the concept using:
1717
@@ -26,14 +26,14 @@ graph TD
2626
A --> D[Subcomponent 2]
2727
```
2828

29-
## MENTAL MODELS
29+
## Mental Models
3030

3131
| Concept | Model / Metaphor | First-principle Breakdown |
3232
| --------------- | ---------------------------------- | --------------------------------- |
3333
| \[e.g. Pointer] | "Memory arrow → points to a box" | Address vs. value distinction |
3434
| \[e.g. Stack] | Stack = vertical tray, LIFO system | Memory ordering via frame context |
3535

36-
## ⌬ INSIGHT CLAIMS
36+
## 📣 ⌬ Insight Claims
3737

3838
List insights that are **non-obvious**, and **must be claimed explicitly**, not just mentioned.
3939

@@ -42,33 +42,35 @@ List insights that are **non-obvious**, and **must be claimed explicitly**, not
4242
| 001 | "A pointer holds an address, not the value" | Lecture Q\&A | `logs/2025-05-16-log.md` |
4343
| 002 | "Refactoring reveals abstraction boundaries" | During pset | `loop/week-01/pacer.yaml` |
4444

45-
## 🚧 BLOCKERS / AMBIGUITIES
45+
## 🚧 Blockers / Ambiguities
4646

4747
> List anything unclear, buggy, unresolved. These can be escalated into logs.
4848
4949
- Why is stack memory auto-freed, but heap not?
5050
- Pointer vs reference distinction in C vs Rust?
5151

52-
## 🧪 TESTS / SELF-CHECKS
52+
## 🧪 Tests / Self-Checks
5353

5454
> Add one or more test questions to check understanding
5555
5656
1. Draw memory diagram of `int *p = &x;`, label addresses and values
5757
2. When does segmentation fault occur when using pointers?
5858

59-
## 📃 TRACE LOG / LEARNING PATH
59+
## 📃 Trace Log / Learning Path
6060

6161
- [x] Watched Lecture 1
6262
- [x] Read `Pointers in C` (CS50 Notes)
6363
- [x] Completed `pset1-Mario`
6464
- [ ] Created public output reflection
6565
- [ ] Shared ⌬ card with claim `001`
6666

67-
## 🔁 LINKED PROTOCOL LOOPS
67+
## 🔁 Linked Protocol Loops
6868

69-
| Loop Phase | Linked File |
70-
| ---------- | -------------------------------- |
71-
| Plan | `loop/week-01/pacer.yaml` |
72-
| Reflect | `logs/2025-05-16-pointer-log.md` |
69+
| Loop Phase | Linked File |
70+
| ---------- | ---------------------------- |
71+
| Plan | `loop/week-01/pacer.yaml` |
72+
| Reflect | `logs/YYYY-MM-DD-week-01.md` |
73+
74+
---
7375

7476
> _Powered by [**Second Mind OS Lab**](https://github.com/secondmindlab) — Protocol-first learning system for cognitive leverage._

logs/YYYY-MM-DD-week-01.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
- `docs/week-01.md`
1212
- `loop/week-01/pacer.yaml`
13-
- `outputs/pset1-mario.md`
13+
- `outputs/week-01-output.md`
1414

1515
## 2. 🚧 Blockers / Bugs / Blindspots
1616

@@ -41,7 +41,7 @@
4141

4242
## 6. Next Steps
4343

44-
- Update `outputs/pset1-mario.md` with fixed version + ⌬ claims
44+
- Update `outputs/week-01-output.md` with fixed version + ⌬ claims
4545
- Start new PACER loop for Week-02
4646
- Share selected insight card to LinkedIn ("⌬ Debug = trace > theory")
4747

loop/week-01/claim.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,26 @@
1-
# ⌬ Claim — Week 01
1+
# ⌬ Claim — Week 01: [Topic]
22

33
## 📣 Claim
44

5-
- **Fact Lock-in**: (kiến thức đúng)
5+
- **Fact Lock-in**: (knowledge)
66
Eg: “I understand the difference between stack and heap memory.”
77

8-
- **Skill Capability**: (có thể hành động được)
8+
- **Skill Capability**: (actionable)
99
Eg: “I can debug null-pointer segfaults in C using `valgrind` and logical tracing.”
1010

11-
- **Insight Shift**: (mindset / abstraction layer nâng cấp)
11+
- **Insight Shift**: (mindset / abstraction layer upgrade)
1212
Eg: “Pointers are not just addresses — they represent indirection, which generalizes to references in high-level langs.”
1313

1414
## Evidence
1515

16-
- Verified via: [`logs/2025-05-18-pointer-log.md`](../../logs/2025-05-18-pointer-log.md)
17-
- Output artifact: [`outputs/pset1-mario.md`](../../outputs/pset1-mario.md)
16+
- Verified via: [`logs/YYYY-MM-DD-week-01.md`](../../logs/YYYY-MM-DD-week-01.md)
17+
- Output artifact: [`outputs/week-01-output.md`](../../outputs/week-01-output.md)
1818
- Source of knowledge: CS50x Lectures + Pset1
1919

2020
## Note
2121

2222
This ⌬ **Mindstamp** represents a crystallized loop outcome.
2323

24-
> Powered by **Second Mind OS**
24+
---
25+
26+
> _Powered by Second Mind OS_

loop/week-01/reflect.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 🪞 Reflect — Week 01
1+
# Reflect — Week 01: [Topic]
22

33
## What clicked?
44

@@ -12,7 +12,7 @@
1212

1313
- <What would your 3-days-ago self do better now?>
1414

15-
## Meta-level feedback
15+
## 🏛 Meta-level feedback
1616

1717
- Protocol friction: <Was PACER too heavy or helpful?>
1818
- System effectiveness: <Did the loop create clarity or chaos?>
@@ -25,3 +25,7 @@
2525
## Quote
2626

2727
> "Insert a quote or reflection sentence that encapsulates this week."
28+
29+
---
30+
31+
> _Powered by Second Mind OS_
Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Output — Week 01
1+
# Output — Week 01: [Topic]
22

33
## Task
44

@@ -68,16 +68,17 @@ Brief description — what did you make / produce?
6868
- ⌬ Claim: `Memory tracing = 4-layer address mental model`
6969
- Situation: `While debugging segfault`
7070
- Impact: `Accelerated understanding of stack/heap`
71-
- Verified: [`logs/2025-05-16-pointer-log.md`](../logs/2025-05-16-pointer-log.md)
71+
- Verified: [`logs/YYYY-MM-DD-week-01.md`](../logs/YYYY-MM-DD-week-01.md)
7272

7373
---
7474

7575
## References
7676

7777
- Links to doc, forums, other outputs
7878

79-
> 📏 **Protocol Tag**: `Verified: logs/2025-05-xx-pointer-log.md`
80-
>
79+
> 📏 **Protocol Tag**: `Verified: logs/YYYY-MM-DD-week-01.md`
8180
> 📣 ⌬ Claim Origin: `"Pointer tracing = mental model of memory layers"`
82-
>
81+
82+
---
83+
8384
> _Powered by Second Mind OS_

scripts/smos.py

Lines changed: 34 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -5,70 +5,53 @@
55
import argparse
66
from datetime import datetime
77

8-
TEMPLATE_PACER = """loop_id: {loop_id}
9-
topic: {topic}
10-
plan:
11-
- TODO: Define objective
12-
- TODO: Define scope
13-
- TODO: Define constraints
14-
outputs:
15-
- outputs/{loop_id}-output.md
16-
logs:
17-
- logs/{today}-{loop_id}-log.md
18-
status: in-progress
19-
claims:
20-
- ⌬ TODO: Write symbolic claim
21-
"""
8+
TEMPLATE_PACER = """loop_id: {loop_id}"""
229

23-
TEMPLATE_NOTE = """# {loop_id} — {topic}
10+
TEMPLATE_CLAIM = """# ⌬ Claim — {loop_id}: {topic}
11+
12+
---
13+
14+
> _Powered by **Second Mind OS**._
15+
16+
"""
2417

25-
## Concepts
26-
-
18+
TEMPLATE_REFLECT = """# Reflect — {loop_id}: {topic}
2719
28-
## Code examples
29-
-
20+
---
3021
31-
## Insight
32-
-
22+
> _Powered by **Second Mind OS**._
3323
34-
## Questions
35-
-
3624
"""
3725

38-
TEMPLATE_LOG = """# Log — {today}
26+
TEMPLATE_NOTE = """# {loop_id} — {topic}
3927
40-
## Blockers 🚧
41-
-
28+
---
4229
43-
## Resolutions 🛠️
44-
-
30+
> _Powered by [**Second Mind OS Lab**](https://github.com/secondmindlab) — Protocol-first learning system for cognitive leverage._
4531
46-
## Pings 💡
47-
-
4832
"""
4933

50-
TEMPLATE_OUTPUT = """# Output — {loop_id}
34+
TEMPLATE_LOG = """# Log — {today}
5135
52-
## Summary
36+
---
5337
54-
## Final Code
38+
**Powered by Second Mind OS** — _Log-traceable insight loops for deep learning._
5539
56-
## Reflection
40+
"""
5741

58-
## Link
42+
TEMPLATE_OUTPUT = """# Output — {loop_id}: {topic}
5943
60-
Verified: logs/{today}-{loop_id}-log.md
44+
---
6145
62-
⌬ Mindstamp: TODO
46+
> _Powered by Second Mind OS_
6347
64-
Powered by Second Mind OS
6548
"""
6649

6750

6851
def create_file(path, content):
6952
with open(path, "w") as f:
7053
f.write(content)
71-
print(f"✅ Created: {path}")
54+
print(f"- {path}")
7255

7356

7457
def init_loop(loop_id, topic):
@@ -79,20 +62,28 @@ def init_loop(loop_id, topic):
7962
os.makedirs("logs", exist_ok=True)
8063
os.makedirs("outputs", exist_ok=True)
8164

65+
create_file(
66+
f"docs/{loop_id}.md",
67+
TEMPLATE_NOTE.format(loop_id=loop_id, topic=topic),
68+
)
69+
create_file(
70+
f"logs/{today}-{loop_id}-log.md", TEMPLATE_LOG.format(today=today)
71+
)
8272
create_file(
8373
f"loop/{loop_id}/pacer.yaml",
8474
TEMPLATE_PACER.format(loop_id=loop_id, topic=topic, today=today),
8575
)
8676
create_file(
87-
f"docs/{loop_id}.md",
88-
TEMPLATE_NOTE.format(loop_id=loop_id, topic=topic),
77+
f"loop/{loop_id}/claim.md",
78+
TEMPLATE_CLAIM.format(loop_id=loop_id, topic=topic),
8979
)
9080
create_file(
91-
f"logs/{today}-{loop_id}-log.md", TEMPLATE_LOG.format(today=today)
81+
f"loop/{loop_id}/reflect.md",
82+
TEMPLATE_REFLECT.format(loop_id=loop_id, topic=topic),
9283
)
9384
create_file(
9485
f"outputs/{loop_id}-output.md",
95-
TEMPLATE_OUTPUT.format(loop_id=loop_id, today=today),
86+
TEMPLATE_OUTPUT.format(loop_id=loop_id, topic=topic, today=today),
9687
)
9788

9889

0 commit comments

Comments
 (0)