mirror of
https://github.com/Such-Software/adaptive-multi-protocol-browser.git
synced 2026-10-18 06:51:26 +02:00
Add dry-run open consent flow
This commit is contained in:
@@ -21,6 +21,7 @@ browser engine until those contracts are stable.
|
||||
- `ampbrowser.routing`: deterministic URL-to-transport rules.
|
||||
- `ampbrowser.transports`: local readiness checks for Tor, I2P, Reticulum, and Gemini.
|
||||
- `ampbrowser.plan`: dry-run action planner for browser launches.
|
||||
- `ampbrowser.launch`: side-effect-free launch specs and first-use consent state.
|
||||
- `ampbrowser.docsgen`: generated public documentation from code-owned metadata.
|
||||
|
||||
## Browser Strategy
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# Open Flow
|
||||
|
||||
> Status: draft | Updated 2026-07-05 | Applies to: AMPB users and implementers
|
||||
|
||||
`ampbrowser open` prepares a safe launch plan for one URL. It routes the URL, checks only
|
||||
the selected transport, and reports whether the browser can open immediately or needs a
|
||||
first-use setup prompt.
|
||||
|
||||
## Consent Model
|
||||
|
||||
AMPB does not install or start Tor, I2P, Reticulum, or other optional transports when the
|
||||
application starts. Setup is lazy:
|
||||
|
||||
1. The user opens a URL.
|
||||
2. AMPB selects the required transport.
|
||||
3. If the transport is already running, AMPB adopts it.
|
||||
4. If the transport is missing, AMPB shows a prompt naming what will be installed or started.
|
||||
5. AMPB proceeds only after approval.
|
||||
|
||||
Current `open` output is a dry-run launch spec. It is intentionally side-effect free while
|
||||
the transport adapters and browser launcher are being stabilized.
|
||||
|
||||
## Examples
|
||||
|
||||
```sh
|
||||
python3 -m ampbrowser open https://wownero.org/
|
||||
python3 -m ampbrowser open http://example.b32.i2p/
|
||||
python3 -m ampbrowser open http://example.b32.i2p/ --yes
|
||||
```
|
||||
@@ -5,6 +5,9 @@
|
||||
Transport management follows one rule: use what is already healthy, and manage missing
|
||||
transports only after the user opens a URL that needs them and approves setup.
|
||||
|
||||
`ampbrowser open` currently emits a dry-run launch spec. The spec includes the selected
|
||||
profile, proxy endpoint, required setup steps, and whether user consent is still needed.
|
||||
|
||||
## Lifecycle
|
||||
|
||||
1. Inspect known local endpoints.
|
||||
|
||||
Reference in New Issue
Block a user