-
Notifications
You must be signed in to change notification settings - Fork 5
feat(cipherstash): framework SPI + authoring surface (Phase 1) #416
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
b0cb6bb
05e93b9
620a473
9d2253c
d5db73f
9425690
3140114
b66a414
33a6e5a
e2b7de6
2b2efbe
473032f
fab1593
2d05b90
6bbbee2
e03acf4
0d558b1
584bbcd
c38863d
9cd526f
8ea4a1b
75c2074
2f7685d
c48d4d7
cc99d50
eefdb1d
8ceebb5
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 |
|---|---|---|
|
|
@@ -118,12 +118,19 @@ export abstract class RuntimeCore< | |
|
|
||
| const compiled = await self.runBeforeCompile(plan); | ||
| const exec = await self.lower(compiled, codecCtx); | ||
| // Merge the per-execute signal onto the persistent middleware ctx | ||
| // for the duration of this execute() call. The ctx object itself is | ||
| // freshly allocated per-execute so middleware sees the signal that | ||
| // belongs to *its* invocation, not a shared one. Identity matches | ||
| // codecCtx.signal so middleware authors who compare `ctx.signal` | ||
| // across the codec/middleware boundary observe the same reference. | ||
| const execMiddlewareCtx = signal === undefined ? self.ctx : { ...self.ctx, signal }; | ||
|
Comment on lines
+121
to
+127
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. Strip any base When 🛠️ Proposed fix- const execMiddlewareCtx = signal === undefined ? self.ctx : { ...self.ctx, signal };
+ const { signal: _baseSignal, ...baseMiddlewareCtx } = self.ctx;
+ const execMiddlewareCtx: RuntimeMiddlewareContext =
+ signal === undefined ? baseMiddlewareCtx : { ...baseMiddlewareCtx, signal };🤖 Prompt for AI Agents |
||
| // The driver yields raw `Record<string, unknown>`; we cast to `Row` here. | ||
| // The Row contract is enforced by the caller via `plan._row`. | ||
| yield* runWithMiddleware<TExec, Row>( | ||
| exec, | ||
| self.middleware, | ||
| self.ctx, | ||
| execMiddlewareCtx, | ||
| () => self.runDriver(exec) as AsyncIterable<Row>, | ||
| ); | ||
| } | ||
|
|
||
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.
Add architecture mapping for
packages/3-extensions/cipherstash/src/exports/pack.ts.The cipherstash
packexport is part of the package surface but is not registered in this config block. That leaves dependency/plane checks incomplete for that entrypoint.Proposed diff
{ "glob": "packages/3-extensions/cipherstash/src/exports/column-types.ts", "domain": "extensions", "layer": "adapters", "plane": "shared" }, + { + "glob": "packages/3-extensions/cipherstash/src/exports/pack.ts", + "domain": "extensions", + "layer": "adapters", + "plane": "shared" + }, { "glob": "packages/3-extensions/cipherstash/src/exports/control.ts", "domain": "extensions", "layer": "adapters", "plane": "migration"As per coding guidelines, "Package domain/layer/plane configuration must include glob pattern, domain name, layer name, and plane designation for each package entry."
📝 Committable suggestion
🤖 Prompt for AI Agents