@aethrekh/pi-cs 0.1.8-alpha.0 → 0.1.9-alpha.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/CHANGELOG.md +34 -8
- package/package.json +1 -1
- package/pi-cs.meta.json +2 -2
- package/pi-package.yaml +1 -1
- package/skills/semester/SKILL.md +17 -9
package/CHANGELOG.md
CHANGED
|
@@ -7,9 +7,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.1.8](https://github.com/AshishBagdane/pi-cs/compare/v0.1.7...v0.1.8) (2026-06-04)
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **integrity-guard: infinite recursion on skill invocation** — `pi.sendUserMessage()` re-triggered the `input` event; warning text containing words like "graded" would match medium-risk patterns and call `sendUserMessage` again, causing `RangeError: Maximum call stack size exceeded`. Added a re-entrancy guard to skip the handler when a warning is already being dispatched.
|
|
15
|
+
- **integrity-guard: false positives on `/skill:` prefix** — The skill name embedded in `/skill:homework ...` was matching medium-risk patterns (e.g. `\bhomework\b`), flagging every homework skill invocation. The `/skill:name` prefix is now stripped before risk analysis so only the user's actual request text is checked.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## [0.1.7](https://github.com/AshishBagdane/pi-cs/compare/v0.1.6...v0.1.7) (2026-06-04)
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- **Pisces persona active from first session** — Previously, `APPEND_SYSTEM.md` was written during `session_start`, but Pi reads it at startup before that event fires, requiring two starts. A `postinstall` npm script now writes the file immediately on `pi install`, so the persona is active from the very first session.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## [0.1.6](https://github.com/AshishBagdane/pi-cs/compare/v0.1.5...v0.1.6) (2026-06-04)
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
|
|
31
|
+
- **SYSTEM.md not found in published package** — `loadPersona()` resolved `../../SYSTEM.md` relative to `__dirname`, which is `src/extensions/` during development but `extensions/` in the compiled package. Added `../SYSTEM.md` as the first candidate so the path resolves correctly to the package root after installation.
|
|
32
|
+
- **Extensions loading `.d.ts` files** — Pi scanned the `extensions/` directory and attempted to load TypeScript declaration files as extension factories. Declaration files are now excluded from the pack; only `.js` files are copied. The generated `package.json` also includes an explicit `pi.extensions` list with `.js` paths to prevent directory scanning.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
10
36
|
## [0.1.5](https://github.com/AshishBagdane/pi-cs/compare/v0.1.4...v0.1.5) (2026-06-04)
|
|
11
37
|
|
|
12
|
-
###
|
|
38
|
+
### Fixed
|
|
13
39
|
|
|
14
40
|
* exclude .d.ts files from extensions pack and add pi key to published package.json ([23f1548](https://github.com/AshishBagdane/pi-cs/commit/23f15481650770322ee6f6167aff0eac92ed419b))
|
|
15
41
|
|
|
@@ -23,24 +49,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
23
49
|
|
|
24
50
|
## [0.1.4](https://github.com/AshishBagdane/pi-cs/compare/v0.1.3...v0.1.4) (2026-06-04)
|
|
25
51
|
|
|
26
|
-
###
|
|
52
|
+
### Fixed
|
|
27
53
|
|
|
28
54
|
* copy SYSTEM.md (uppercase) in pack script ([d76fe7d](https://github.com/AshishBagdane/pi-cs/commit/d76fe7da07d919fb9020c79777a2bc6ea63f88d4))
|
|
29
55
|
* correct system prompt path casing and enforce it in validate ([98da376](https://github.com/AshishBagdane/pi-cs/commit/98da3769b5bf7ea734746efd433d038ffed132a9))
|
|
30
56
|
* inject Pisces persona via before_agent_start hook ([4c04728](https://github.com/AshishBagdane/pi-cs/commit/4c047282bb0203c8abaaf10688b58089f85c7c81))
|
|
31
57
|
|
|
32
|
-
###
|
|
58
|
+
### Changed
|
|
33
59
|
|
|
34
60
|
* install Pisces persona via APPEND_SYSTEM.md instead of per-turn injection ([4ed08c4](https://github.com/AshishBagdane/pi-cs/commit/4ed08c434acf77eeafca03aa5c303c6edc1b3557))
|
|
35
61
|
* split monolithic index.ts into four real Pi extension factories ([e0dd78a](https://github.com/AshishBagdane/pi-cs/commit/e0dd78a4117f96e5e525396310616c3b111445c7))
|
|
36
62
|
|
|
37
63
|
## [0.1.3](https://github.com/AshishBagdane/pi-cs/compare/v0.1.2...v0.1.3) (2026-06-02)
|
|
38
64
|
|
|
39
|
-
###
|
|
65
|
+
### Fixed
|
|
40
66
|
|
|
41
67
|
* wire session_shutdown to persist session records via progress tracker ([0925eec](https://github.com/AshishBagdane/pi-cs/commit/0925eec5c9d2992e53954b3e67b70107e8c16ce5))
|
|
42
68
|
|
|
43
|
-
###
|
|
69
|
+
### Changed
|
|
44
70
|
|
|
45
71
|
* improve CLAUDE.md with runtime extension architecture and dev recipes ([ef5fea6](https://github.com/AshishBagdane/pi-cs/commit/ef5fea6ad389420341a773b748b9a5b1286abca5))
|
|
46
72
|
|
|
@@ -62,7 +88,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
62
88
|
|
|
63
89
|
## 0.1.1 (2026-06-02)
|
|
64
90
|
|
|
65
|
-
###
|
|
91
|
+
### Added
|
|
66
92
|
|
|
67
93
|
* add background extensions ([2b8c432](https://github.com/AshishBagdane/pi-cs/commit/2b8c432c729b14a630d98aa951612917712695d9))
|
|
68
94
|
* add configuration system (schema + defaults) ([3a78bb4](https://github.com/AshishBagdane/pi-cs/commit/3a78bb4299d730ecc06e45675cc75dcb29a11121))
|
|
@@ -72,11 +98,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
72
98
|
* add skill prompt definitions ([e0fb541](https://github.com/AshishBagdane/pi-cs/commit/e0fb54138362fab53de93909c4008fef500af62a))
|
|
73
99
|
* add validate and pack scripts ([8e4841b](https://github.com/AshishBagdane/pi-cs/commit/8e4841bfc5bcb32acdc55086879c1b671d10e47d))
|
|
74
100
|
|
|
75
|
-
###
|
|
101
|
+
### Fixed
|
|
76
102
|
|
|
77
103
|
* repair pnpm-workspace.yaml to unblock CI ([78915c5](https://github.com/AshishBagdane/pi-cs/commit/78915c50e3de5bc1335e4405cd10ac18dd9c5cf4))
|
|
78
104
|
|
|
79
|
-
###
|
|
105
|
+
### Changed
|
|
80
106
|
|
|
81
107
|
* add comprehensive student usage guide ([0d2f769](https://github.com/AshishBagdane/pi-cs/commit/0d2f769a80d672062644fc01df275d95e8f3e456))
|
|
82
108
|
* add CONTRIBUTING.md with project-specific contribution guide ([013d69a](https://github.com/AshishBagdane/pi-cs/commit/013d69a5d08e1bb0b47270922fb381111c31a201))
|
package/package.json
CHANGED
package/pi-cs.meta.json
CHANGED
package/pi-package.yaml
CHANGED
package/skills/semester/SKILL.md
CHANGED
|
@@ -33,8 +33,14 @@ Ask for all of the following in a single message (do not ask one at a time):
|
|
|
33
33
|
|
|
34
34
|
If the student provides some details inline when invoking `/semester --init`, pre-fill what is already known and only ask for what is missing.
|
|
35
35
|
|
|
36
|
-
### Step 2 —
|
|
37
|
-
|
|
36
|
+
### Step 2 — Check for Existing File
|
|
37
|
+
Before writing anything, check whether `SEMESTER.md` already exists in the current directory.
|
|
38
|
+
|
|
39
|
+
- If it **exists**: tell the student it was found, show the current content, and ask whether to overwrite it or cancel. Do not proceed unless they confirm.
|
|
40
|
+
- If it **does not exist**: proceed to Step 3.
|
|
41
|
+
|
|
42
|
+
### Step 3 — Write SEMESTER.md
|
|
43
|
+
Build the file content with real values — no placeholder text. Use this exact structure:
|
|
38
44
|
|
|
39
45
|
```
|
|
40
46
|
semester: <semester> <year>
|
|
@@ -61,13 +67,13 @@ Feeling weak on: <weak topics, else leave blank>
|
|
|
61
67
|
Primary language: <language>
|
|
62
68
|
```
|
|
63
69
|
|
|
64
|
-
|
|
70
|
+
Write this content directly to `SEMESTER.md` in the current working directory using the file write tool. Do not ask the student to copy-paste it — write the file yourself.
|
|
71
|
+
|
|
72
|
+
After writing, confirm with: *"✅ `SEMESTER.md` written to `<absolute path>`."*
|
|
65
73
|
|
|
66
|
-
### Step 3 — Save Instructions
|
|
67
74
|
Tell the student:
|
|
68
|
-
-
|
|
69
|
-
-
|
|
70
|
-
- Reloads automatically on every `cd` — no restart needed
|
|
75
|
+
- Pisces also searches `~/university/SEMESTER.md` — move the file there if you want it to work from any subdirectory
|
|
76
|
+
- It reloads automatically on every `cd` — no restart needed
|
|
71
77
|
- Update `week:` each week and `active_project:` whenever it changes
|
|
72
78
|
|
|
73
79
|
### Step 4 — Live Preview
|
|
@@ -88,8 +94,10 @@ Common update patterns:
|
|
|
88
94
|
- **Course change** — add or remove a course from the list
|
|
89
95
|
- **Weak topics** — replace the "Feeling weak on" line
|
|
90
96
|
|
|
91
|
-
### Step 2 —
|
|
92
|
-
|
|
97
|
+
### Step 2 — Write the Updated File
|
|
98
|
+
Read the current `SEMESTER.md`, apply the changes, and write the complete updated file back using the file write tool. Never output a partial file.
|
|
99
|
+
|
|
100
|
+
Show a brief summary of what changed, then confirm with: *"✅ `SEMESTER.md` updated."*
|
|
93
101
|
|
|
94
102
|
---
|
|
95
103
|
|