Skip to content

Commit 00c12c3

Browse files
committed
docs(showcase): drop two unverified runtime claims from the rewritten object comments
Self-review catch on this PR's own prose, not on the code. The rewritten comments asserted two things this change never measured: that the objectui live e2e "no longer depends on being admin" (that suite was not run here), and that "every non-admin who clicked the entry got a 403" (no app was booted; the 403 is what `nav-object-ungranted` REPORTS, not something observed). Both are restated as what they are -- the lint rule's finding -- so the comments claim exactly the evidence this PR carries and no more. A showcase comment is read as documentation, so an overclaim there costs the same as an overclaim in the docs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XpTx2tbq3pZRYAdoGt6E6Y
1 parent 5a31720 commit 00c12c3

2 files changed

Lines changed: 11 additions & 8 deletions

File tree

examples/app-showcase/src/data/objects/cascading-select.object.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,14 @@ import { P } from '@objectstack/spec';
3131
* makes the object reachable: object-level CRUD (gate ①) comes only from a
3232
* permission set and is checked first. This comment used to say the wide OWD let
3333
* the seeded admin and the live e2e create records "without a bespoke permission
34-
* set"; what actually carried them was the admin's built-in WILDCARD set, and
35-
* every other member hit a 403 on the `nav_cascade` entry
36-
* (`nav-object-ungranted`, warned on every build). `showcase_member_default` now
37-
* grants read/create/edit, so the object is in the access-matrix snapshot and
38-
* the e2e no longer depends on being admin. Note where the narrowing really
39-
* lives: on one OPTION (`tier: 'restricted'`, admin-only), not on the object.
34+
* set". What actually carried the admin was their built-in WILDCARD set: with no
35+
* grant anywhere, `nav-object-ungranted` warned on every build and reports the
36+
* `nav_cascade` entry as permission-denied for every principal that does not
37+
* hold that wildcard set. `showcase_member_default` now grants read/create/edit,
38+
* so the object is in the access-matrix snapshot and a plain member holds the
39+
* capability the navigation entry already claimed for them. Note where the
40+
* narrowing really lives: on one OPTION (`tier: 'restricted'`, admin-only),
41+
* not on the object.
4042
*
4143
* The server verdict is unit-covered by objectql
4244
* `rule-validator.option-visibility.test.ts`; this object is the served fixture

examples/app-showcase/src/data/objects/expense-report.object.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@ export const ExpenseReport = ObjectSchema.create({
4040
// OWD let "any seeded persona create/edit reports without a bespoke permission
4141
// set" — measurably false, and the app shipped the proof: the object sat in
4242
// the shared navigation with no grant anywhere, so `nav-object-ungranted`
43-
// warned on every build and every non-admin who clicked the entry got a 403.
44-
// It worked for the seeded admin only, who holds the platform's wildcard set.
43+
// warned on every build, reporting the entry as permission-denied for every
44+
// principal except one holding the platform's built-in wildcard admin set.
45+
// The seeded admin holds exactly that set, which is why it looked fine.
4546
// The grants now live on `showcase_contributor` (file/edit) and
4647
// `showcase_member_default` (read), and both appear in access-matrix.json.
4748
sharingModel: 'public_read_write',

0 commit comments

Comments
 (0)