-
Notifications
You must be signed in to change notification settings - Fork 65
Matrix-gap sprint: kill mid-run for 6 more runtimes + Cursor/Copilot pre-tool gates #5009
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
302cd60
32f7139
032d8b8
6779176
2b2ca38
aaa750b
cff13fb
a5d7a1b
b3346c4
2698dfc
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -111,6 +111,12 @@ class Session: | |
| cost_usd: float | None = None | ||
| cost_status: str = "" | ||
| end_reason: str = "" | ||
| # Working directory the session ran in ("" when the runtime hides it). | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The Session dataclass adds cwd as a first-class field (line 119) documented as required for kill/pause pid resolution. However, the requirement does not specify cwd as a first-class Session field; the existing contract expected adapters to provide it through extra["cwd"] and the dual persistence (both first-class and extra) contradicts a single-source-of-truth design. |
||
| # First-class because kill/pause pid resolution keys on it | ||
| # (process_control.resolve_by_cwd); adapters should ALSO mirror it into | ||
| # extra["cwd"] while older OSS wheels without this field are in the | ||
| # fleet (a pro adapter passing cwd= against an old wheel would crash). | ||
| cwd: str = "" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The Session dataclass adds cwd as a first-class field, documented as required for kill/pause pid resolution. However, the blueprint's section on session location (ADR-010) describes cwd as extracted and normalized at ingest, not as a first-class Session field that adapters must populate. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The Session dataclass adds cwd as a first-class field with a comment stating adapters "should ALSO mirror it into extra[cwd]" for backward compatibility. The blueprint's ADR-010 describes cwd as extracted/normalized at ingest via alias walk, not as a field requiring dual persistence in both first-class and extra dictionary forms. |
||
| extra: dict[str, Any] = field(default_factory=dict) | ||
|
|
||
| def to_dict(self) -> dict[str, Any]: | ||
|
|
@@ -134,6 +140,7 @@ def to_dict(self) -> dict[str, Any]: | |
| "costUsd": self.cost_usd, | ||
| "costStatus": self.cost_status, | ||
| "endReason": self.end_reason, | ||
| "cwd": self.cwd, | ||
| } | ||
| if self.extra: | ||
| d["extra"] = self.extra | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Session dataclass adds cwd as a first-class field. The blueprint's ADR-010 describes cwd as "extracted and normalized at ingest via alias walk," but does not specify that it should also be a first-class Session field that adapters must populate alongside the extra["cwd"] mirror for backward compatibility. The dual persistence contradicts the single-source-of-truth principle implied by the blueprint.