Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion appleApp/FTWKit/Sources/FTWKit/Protocol/Contract.swift
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ public enum Contract {
"ftw.members.write": "Invite and revoke",
"ftw.logs.read": "Log excerpts the box redacts",
"ftw.config.read": "Configuration the box redacts",
"ftw.diag.run": "Checks that change nothing",
"ftw.diag.run": "Full technical diagnostics and read API",
"ftw.dispatch.hold": "Hold energy assets for a capped time",
"ftw.goals.request": "Ask an owner to change a durable goal",
"ftw.update.request": "Ask an owner to install a version",
Expand Down
3 changes: 2 additions & 1 deletion protocol/registry.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ scopes:
- { name: ftw.members.write, desc: Invite and revoke }
- { name: ftw.logs.read, desc: Log excerpts the box redacts }
- { name: ftw.config.read, desc: Configuration the box redacts }
- { name: ftw.diag.run, desc: Checks that change nothing }
- { name: ftw.diag.run, desc: Full technical diagnostics and read API }
- { name: ftw.dispatch.hold, desc: Hold energy assets for a capped time }
- { name: ftw.goals.request, desc: Ask an owner to change a durable goal }
# Reserved: no op asks for an update yet, and no role but owner carries it.
Expand Down Expand Up @@ -445,6 +445,7 @@ reads:
- { msg: logs.get, scope: ftw.logs.read, desc: A log excerpt the box redacts }
- { msg: config.get, scope: ftw.config.read, desc: A configuration section the box redacts }
- { msg: diag.run, scope: ftw.diag.run, desc: A check that changes nothing }
- { msg: api.read, const: MsgAPIRead, scope: ftw.diag.run, desc: Read the full technical diagnostic API }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Update the owner-facing diagnostic permission text

When an agent or support offer requests ftw.diag.run, OfferFlowView displays AccessWords.scope, whose override in AccessWords.swift:96 still says only “Run checks that change nothing.” This new operation lets the same grant read the full technical diagnostic API, so owners can approve materially broader access without being told what it permits; update the localized scope wording alongside this contract change.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Add readable audit wording for API reads

When the box records this newly recognized read as what: api.read, AccessWords.what cannot find it in auditWords (AccessWords.swift:345-366) and falls back to displaying the raw protocol token api.read in the owner’s activity log, including in Swedish. Add the corresponding English audit phrase and translation so diagnostic API access remains intelligible and localized like every other registered read.

Useful? React with 👍 / 👎.


# ---------------------------------------------------------------------------
# Cars. A car belongs to its owner, not to the home, and visits chargers. The
Expand Down
Loading