Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
879a5ea
feat(inspector): Phase 1 Capsule Inspector — read-only object-centere…
claude Jun 17, 2026
ef0b19d
fix(inspect): close inspect privilege-escalation with a tested two-ti…
claude Jun 17, 2026
741ca98
feat(inspect): live read-only elastos://inspect/* handler + conforman…
claude Jun 17, 2026
7d85ec9
test(inspect): prove contract fidelity + no-authority-leak; doc the o…
claude Jun 17, 2026
f7d191f
feat(inspect): Phase 2 — write-gated, audited capability revocation
claude Jun 17, 2026
f6c89b4
feat(inspect): Carrier-shaped host adapter + two-transport architectu…
claude Jun 17, 2026
dfa70f4
docs(inspect): correct host-bridge plan — gateway cannot reach Capsul…
claude Jun 17, 2026
261d77a
feat(inspect): product-side inspect provider on the shared ProviderRe…
claude Jun 17, 2026
9c8078a
feat(inspect): unify inspect data sources; browser path now lists ser…
claude Jun 17, 2026
df03702
feat(inspect): CatalogInspectSource — rich, manifest-backed product view
claude Jun 17, 2026
6fa942b
feat(inspect): sub-provider coverage + live per-capsule audit
claude Jun 17, 2026
04039d3
feat(inspect): surface typed affordance schemas (metadata-driven refl…
claude Jun 17, 2026
997569c
feat(invoke): metadata-driven invocation planner + Rong brief
claude Jun 17, 2026
4ba5e02
fix(inspect): wire inspect into the gateway allow-list + end-to-end v…
claude Jun 17, 2026
9ae8e12
feat(inspect): invoke preview + provenance CID + carrier-leg naming (…
claude Jun 17, 2026
f25e330
feat(inspect): carrier-leg e2e verification + browser plan reachabili…
claude Jun 17, 2026
78bbf4b
feat(inspect): surface provider authority + DDRM integration plan
claude Jun 17, 2026
28ed9b9
feat(inspect-ui): render provider authority in the glass box
claude Jun 17, 2026
b0938f0
feat(inspect): build_capsule_view authority parity (#12)
claude Jun 17, 2026
ddf4040
docs(merge): validate DDRM integration by dry-run; correct the recipe
claude Jun 17, 2026
a4a032b
feat(inspect): preview the gate a provider operation would require
claude Jun 17, 2026
629b95c
feat(inspect): enforce merge gate-contract + derive honest provenance
claude Jun 17, 2026
4d88281
feat(inspect): surface audit attestation (signer DID + signed) — live…
claude Jun 17, 2026
e4d9563
harden(inspect): aggregate split authority blocks + edge least-privil…
claude Jun 17, 2026
f8afb2f
harden(inspect): make signature fingerprint panic-proof
claude Jun 17, 2026
c2e663d
docs(inspect): add Capsule Inspector testing guide
claude Jun 17, 2026
645d217
style(inspect): satisfy `just lint` — rustfmt + 2 clippy fixes
claude Jun 17, 2026
f32f29f
test(inspect): KNOWN_GAPS ratchet registry — build-visible gaps as #[…
claude Jun 18, 2026
54d4366
docs(roadmap): capture next-steps roadmap from the inspector branch
claude Jun 18, 2026
1bfe59f
feat(approval): fail-closed approval decision core + inspect/intent p…
claude Jun 19, 2026
2b413b0
docs(approval): document inspect/intent + contract-honesty path note
claude Jun 19, 2026
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
121 changes: 121 additions & 0 deletions capsules/capsule-inspector/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions capsules/capsule-inspector/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[package]
name = "capsule-inspector"
version = "0.1.0"
edition = "2021"
description = "ElastOS Capsule Inspector capsule"
license = "MIT"

[[bin]]
name = "capsule-inspector"
path = "wasm/main.rs"

[dependencies]
elastos-guest = { path = "../../elastos/crates/elastos-guest" }

[profile.release]
opt-level = "s"
lto = true

[workspace]
17 changes: 17 additions & 0 deletions capsules/capsule-inspector/capsule.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"schema": "elastos.capsule/v1",
"name": "capsule-inspector",
"version": "0.1.0",
"description": "Object-centered, read-only inspector for live capsules: identity, affordances, capabilities, provenance, and audit in one view",
"author": "elastos",
"role": "app",
"type": "wasm",
"entrypoint": "capsule-inspector.wasm",
"capabilities": [
"elastos://inspect/*"
],
"resources": {
"memory_mb": 32,
"gpu": false
}
}
35 changes: 35 additions & 0 deletions capsules/capsule-inspector/inspector/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Capsule Inspector</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<header class="topbar">
<div class="brand">
<span class="dot"></span>
<h1>Capsule Inspector</h1>
</div>
<div class="meta">
<span id="scope-badge" class="badge">scope: —</span>
<span id="source-badge" class="badge badge-sample">sample data</span>
<span class="hint">read-only · permissioned mirror · audited</span>
</div>
</header>

<main class="layout">
<!-- Left: live object world (the capsule list) -->
<nav class="sidebar" aria-label="Capsules">
<div class="sidebar-head">Live capsules</div>
<ul id="capsule-list" class="capsule-list"></ul>
</nav>

<!-- Right: the nine-field "glass box" detail -->
<section id="detail" class="detail" aria-live="polite"></section>
</main>

<script src="inspector.js"></script>
</body>
</html>
Loading
Loading