This website requires JavaScript.
da7c2c8ca1
Merge pull request #899 from strukto-ai/feat/permissions-doors
main
Zecheng Zhang
2026-08-24 01:17:05 -07:00
d5901945ab
Merge pull request #898 from strukto-ai/fix/box-rename-nonempty
Zecheng Zhang
2026-08-24 01:07:05 -07:00
24a133f868
fix(asks): 404 an unknown session filter, 422 a bodiless answer
Zecheng Zhang
2026-08-24 00:45:43 -07:00
7149f4b59a
test(integ): asks section in the CLI parity battery
Zecheng Zhang
2026-08-24 00:29:59 -07:00
97da173213
fix(box): a rename refuses a type mismatch before touching the destination
Zecheng Zhang
2026-08-24 00:27:01 -07:00
6d2edb52f8
feat(permissions): asks door, workspace list-asks/allow/deny over the decision ledger
Zecheng Zhang
2026-08-24 00:21:29 -07:00
cfd9ac179e
fix(box): rename and copy refuse a destination they were destroying
Zecheng Zhang
2026-08-24 00:01:01 -07:00
4b497e3070
Merge pull request #895 from strukto-ai/fix/directory-read-refusal
Zecheng Zhang
2026-08-23 20:34:05 -07:00
565c05992f
Merge branch 'main' into fix/directory-read-refusal
fix/directory-read-refusal
Zecheng Zhang
2026-08-23 12:33:39 -07:00
5852bd3adb
Merge pull request #890 from bytecii/feat/dsh-permissions
Zecheng Zhang
2026-08-23 12:29:04 -07:00
3c5d4663e7
Merge pull request #896 from strukto-ai/feat/permissions-paths
Zecheng Zhang
2026-08-23 12:07:46 -07:00
f922586953
fix(policy): the kill reaches a compound line, and the prompt keeps its words
bytecii
2026-08-23 11:45:20 -07:00
a131809653
fix: gzip error precedence and terminal-errno classification
Zecheng Zhang
2026-08-23 11:36:02 -07:00
2ec6de2fce
fix(permissions): isolate the mount gate on the fallback async storage
Zecheng Zhang
2026-08-23 11:33:47 -07:00
0df7dc5738
Merge pull request #885 from bytecii/fix/make-id-name-byte-budget
bytecii
2026-08-23 11:07:45 -07:00
100d969c6b
fix(permissions): guard bespoke writes, refuse subtree mutations over read-only regions
Zecheng Zhang
2026-08-23 07:04:59 -07:00
822e3169b9
test(mirror): lower the ratchet to 182 after the merge
bytecii
2026-08-23 06:33:23 -07:00
4366a78ab6
Merge upstream/main into fix/make-id-name-byte-budget
bytecii
2026-08-23 06:23:19 -07:00
9328611314
fix(policy): an ask cannot outlive the run that raised it
bytecii
2026-08-23 06:04:18 -07:00
abdefa2ca8
feat(dsh): route mirage's allow/ask/deny through dsh, and bump the seams
bytecii
2026-08-22 01:28:08 -07:00
2b10274e90
fix: refuse a directory read with GNU's errno and exit code
Zecheng Zhang
2026-08-23 04:34:20 -07:00
57dbcd36da
Merge pull request #894 from strukto-ai/fix/postgres-schema-miss
Zecheng Zhang
2026-08-23 05:46:44 -07:00
cebd0a9555
fix(permissions): per-path write gate, rename dst check, glob anchor visibility
Zecheng Zhang
2026-08-23 05:31:41 -07:00
4e575c460f
fix(naming): route search results and blob names through the budgeted joiner
bytecii
2026-08-23 05:31:25 -07:00
cc6d069170
docs(python): define JiraConfig in the SDK snippet
Zecheng Zhang
2026-08-23 04:50:10 -07:00
2981fae98d
fix(examples): script mounts carry x, per-script exec check
Zecheng Zhang
2026-08-23 04:48:12 -07:00
a4c826f332
Merge remote-tracking branch 'origin/main' into feat/permissions-paths
Zecheng Zhang
2026-08-23 04:32:17 -07:00
a34691696b
feat(permissions): path axis show entries, per-subtree modes, hide reasons
Zecheng Zhang
2026-08-23 04:32:11 -07:00
b5ff9f414f
chore(spec): record why jaeger and databricks_volume are node-only
Zecheng Zhang
2026-08-23 04:10:59 -07:00
d1871cc4b3
docs(python): make the SDK snippet the class the rest of the page names
Zecheng Zhang
2026-08-23 04:10:59 -07:00
6f0ba4cee8
refactor(nextcloud): give du's stat probe the python twin it was missing
Zecheng Zhang
2026-08-23 04:06:03 -07:00
07d1900074
fix(postgres): refuse a readdir on a schema or entity that does not exist
Zecheng Zhang
2026-08-23 03:59:41 -07:00
7abab793b1
Merge pull request #887 from strukto-ai/feat/plugin-resource-arc
Zecheng Zhang
2026-08-23 03:20:16 -07:00
682b1a8b12
Merge remote-tracking branch 'origin/feat/plugin-resource-arc' into feat/plugin-resource-arc
Zecheng Zhang
2026-08-23 02:33:29 -07:00
cd4bbbe8e2
fix(resource): a colon reference is checked against the contract that binds
Zecheng Zhang
2026-08-23 02:33:03 -07:00
a0b5bf1816
fix(commands): grep and rg read the mount boundaries off the bag
Zecheng Zhang
2026-08-23 02:32:53 -07:00
348b04b2b1
Merge pull request #893 from strukto-ai/codex/gws-coverage-rest
Zecheng Zhang
2026-08-23 02:17:23 -07:00
895d27f6a8
Merge branch 'main' into feat/plugin-resource-arc
Zecheng Zhang
2026-08-23 02:01:46 -07:00
480299a8bd
Merge pull request #892 from strukto-ai/perf/python-ci-xdist-4
Zecheng Zhang
2026-08-23 02:00:51 -07:00
97584910e0
test(gws): cover drive permissions and gmail trash
sonhmai
2026-08-23 15:45:32 +07:00
11bf89c040
ci(python): run main pytest suite with xdist
sonhmai
2026-08-23 14:55:22 +07:00
b385dd04e9
fix(resource): a colon reference must build a whole resource
Zecheng Zhang
2026-08-23 00:46:00 -07:00
abbf24f918
fix(commands): a mount parent is synthesized only for an absence
Zecheng Zhang
2026-08-23 00:45:51 -07:00
0580490b08
fix(commands): the read family asks the name plane, not a dispatched stat
Zecheng Zhang
2026-08-23 00:45:42 -07:00
14a315cc03
fix(commands): a keyed store's stat wrapper is wiring only
Zecheng Zhang
2026-08-23 00:45:32 -07:00
e3b5dfc84d
Merge main into feat/plugin-resource-arc
Zecheng Zhang
2026-08-23 00:45:13 -07:00
8f9deac070
Merge pull request #884 from strukto-ai/feat/permissions-scripts
Zecheng Zhang
2026-08-23 00:18:23 -07:00
fc2daef3de
Merge pull request #889 from strukto-ai/feat/faster-ci
Zecheng Zhang
2026-08-23 00:02:18 -07:00
cdcee85c27
Merge pull request #891 from strukto-ai/codex/gws-slides-integ
Zecheng Zhang
2026-08-23 00:02:00 -07:00
021144bbbf
Merge pull request #878 from strukto-ai/refactor/filetype-nodekind-split
Zecheng Zhang
2026-08-22 23:56:32 -07:00
31dc8842e1
fix(policy): restore the stored default session script, fix the integ and format gates
Zecheng Zhang
2026-08-22 23:42:24 -07:00
b1d6434bcf
test: add gws slides CLI coverage
sonhmai
2026-08-23 12:24:16 +07:00
a9c6c21192
test(integ): pin the read family and the root listing on a mount parent
Zecheng Zhang
2026-08-22 22:02:40 -07:00
085d065d5e
fix(commands): the read family sees a namespace-only directory
Zecheng Zhang
2026-08-22 22:02:30 -07:00
48e158712c
fix(ops): a hidden mount's only ancestor is not named either
Zecheng Zhang
2026-08-22 22:02:16 -07:00
70a4d1b2e8
ci: bootstrap TypeScript once and reuse dist artifacts in CLI + integ
sonhmai
2026-08-23 11:18:53 +07:00
5408923273
test(integ): pin the mount parent verbs and the mount root name
Zecheng Zhang
2026-08-22 20:14:32 -07:00
daab3468af
fix(commands): typescript grep and rg probe a mount parent through the wrappers
Zecheng Zhang
2026-08-22 20:14:20 -07:00
302646fc68
fix(commands): a hidden mount's parent reads as absent
Zecheng Zhang
2026-08-22 20:14:11 -07:00
6c6fb4e50c
fix(resource): adapt a table's range slot instead of forwarding it raw
Zecheng Zhang
2026-08-22 20:14:01 -07:00
f8fda4052f
feat(policy): per-command profile scripts, allow list covers builtins
Zecheng Zhang
2026-08-22 20:13:32 -07:00
e4d6866336
feat(resource): a mount can name its resource class instead of a registry key
feat/plugin-resource-arc
Zecheng Zhang
2026-08-22 01:07:30 -07:00
b7000945e6
fix(commands): a mount parent is a directory, not a missing path
Zecheng Zhang
2026-08-22 01:07:30 -07:00
d227e8e453
feat(resource): a TypeScript kit backend forwards the ops its table carries
Zecheng Zhang
2026-08-22 01:07:18 -07:00
4cb03dd6eb
fix(resource): a kit backend publishes the ops its table carries
Zecheng Zhang
2026-08-22 01:07:18 -07:00
66f649ea3f
test(types): trim FileStat split test to the enforced invariant
refactor/filetype-nodekind-split
sonhmai
2026-08-21 15:02:36 +07:00
0727bd75a5
refactor(types): split FileType (node kind) from ContentType
sonhmai
2026-08-21 14:05:57 +07:00
137608d49d
fix(naming): budget every <label>__<id> name in bytes, not characters
bytecii
2026-08-22 00:11:51 -07:00
b425d0fcf5
Merge pull request #883 from strukto-ai/feat/ts-generic-resource
Zecheng Zhang
2026-08-22 00:05:18 -07:00
cddef939a7
fix(policy): recompile a scripted default profile, load config scripts after rebasing
feat/permissions-scripts
Zecheng Zhang
2026-08-21 23:55:08 -07:00
72ae0b2945
refactor(policy): move the profile model and script evaluation into the policy layer
Zecheng Zhang
2026-08-21 22:52:24 -07:00
8b9bd5ae9b
feat(policy): roles written by a script
Zecheng Zhang
2026-08-21 20:50:24 -07:00
984f79e2fe
fix(resource): a generic mount asks to be handed back at load
feat/ts-generic-resource
Zecheng Zhang
2026-08-21 20:38:58 -07:00
98fcdcb2e2
feat(resource): assemble a TypeScript backend from one CommandIO table
Zecheng Zhang
2026-08-21 19:32:57 -07:00
8a7645890a
Merge pull request #882 from strukto-ai/feat/runtime-stat-door
Zecheng Zhang
2026-08-21 18:24:29 -07:00
75e3d28253
fix(runtime): monty and pyodide report the mount's mode and mtime
Zecheng Zhang
2026-08-21 16:14:06 -07:00
de9ffc8974
feat(runtime): the door builds one stat struct for every guest
Zecheng Zhang
2026-08-21 16:13:06 -07:00
f5d9ff2a83
Merge pull request #880 from strukto-ai/feat/permissions-decisions
Zecheng Zhang
2026-08-21 15:24:37 -07:00
4d2bed916d
test(integ): cross-check explain against the run, and type the answer word
Zecheng Zhang
2026-08-21 14:52:35 -07:00
bab2820b66
fix(policy): judge coded policies, redirect targets and the rest of the line
Zecheng Zhang
2026-08-21 14:52:28 -07:00
680a8a36eb
fix(policy): drop the dead approval types and settle CI formatting
Zecheng Zhang
2026-08-21 14:52:19 -07:00
d267692294
Merge pull request #881 from strukto-ai/feat/readdir-link-marks
Zecheng Zhang
2026-08-21 13:55:01 -07:00
4cd8c64fa2
fix(runtime): mark a listing from the directory it actually read
Zecheng Zhang
2026-08-21 13:17:34 -07:00
41fb0c1911
feat(policy): decision ledger, explain, and whole-line judging
Zecheng Zhang
2026-08-21 12:22:24 -07:00
f3bfa49cf5
feat(runtime): the readdir row carries the link mark
Zecheng Zhang
2026-08-21 12:22:08 -07:00
ee0be359a8
Merge pull request #879 from strukto-ai/feat/guest-link-verbs
Zecheng Zhang
2026-08-21 09:59:54 -07:00
f57be539e5
fix(workspace): prove a directory from its parent's listing
Zecheng Zhang
2026-08-21 09:22:28 -07:00
b448775596
fix(workspace): the door owns every verb that names a link
Zecheng Zhang
2026-08-21 08:17:18 -07:00
a5cb9730b7
feat(runtime): serve symlink, readlink and setattr to guests
Zecheng Zhang
2026-08-21 05:56:27 -07:00
43e8a67180
Merge pull request #877 from strukto-ai/fix/os-verb-routing
Zecheng Zhang
2026-08-21 04:04:52 -07:00
4950f88558
Merge pull request #876 from strukto-ai/feat/permissions-explain
Zecheng Zhang
2026-08-21 04:04:36 -07:00
d2250fe4c9
fix(permissions): let an approved carve-out reach the op door, and hold the root mount's own paths
feat/permissions-explain
Zecheng Zhang
2026-08-20 23:01:49 -07:00
0e59a6c659
fix(os): lstat a mounted link from its own node row
fix/os-verb-routing
Zecheng Zhang
2026-08-20 22:46:18 -07:00
d1eea898b8
fix(os): keep the process patch off while a backend serves an op
Zecheng Zhang
2026-08-20 21:04:08 -07:00
da2c910fd0
fix(permissions): answer every operand's ask, and scope discovery to reachable verbs
Zecheng Zhang
2026-08-20 20:49:50 -07:00
5639b62790
fix(os): route every path-taking os verb through the workspace
Zecheng Zhang
2026-08-20 20:13:46 -07:00
5a44983251
fix(permissions): judge a line subject by subject, and keep a mount section inside its mount
Zecheng Zhang
2026-08-20 19:28:23 -07:00
325e8d33a2
fix(permissions): score the entry that matched, and read entries by the same law
Zecheng Zhang
2026-08-20 17:06:12 -07:00
df179bbfce
Merge pull request #875 from strukto-ai/feat/k2-wave2e
Zecheng Zhang
2026-08-20 16:14:18 -07:00
8d04d90ddb
Merge pull request #874 from strukto-ai/feat/k2-wave2d
Zecheng Zhang
2026-08-20 16:14:03 -07:00