kira-wallet 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +116 -0
- package/THIRD_PARTY_NOTICES.md +13 -0
- package/bin/kira.cjs +8 -0
- package/curve_pricing.py +86 -0
- package/docs/AGENT_TOOLS.md +53 -0
- package/docs/CLI.md +144 -0
- package/docs/JOB_CONTRACT.md +111 -0
- package/docs/KIRA_JOBS_BUILD_REPORT.md +92 -0
- package/docs/KIRA_REDESIGN_REPORT.md +125 -0
- package/docs/ONBOARDING_CHAT_CONTRACT.md +36 -0
- package/docs/RELEASE.md +45 -0
- package/docs/WALLET_CAPABILITIES.md +98 -0
- package/docs/character/brand-generation.json +20 -0
- package/docs/character/workspace-generation.json +29 -0
- package/docs/screenshots/kira-jobs-desktop.jpg +0 -0
- package/kira_agent.py +280 -0
- package/kira_cli.py +263 -0
- package/kira_config.py +98 -0
- package/kira_jobs.py +504 -0
- package/kira_tools.py +104 -0
- package/networks.json +214 -0
- package/onchain.cjs +34 -0
- package/package.json +78 -0
- package/pipeline-onchain.cjs +284 -0
- package/research.py +39 -0
- package/sources/job-envelope-v1.schema.json +469 -0
- package/sources/job-request-v1.schema.json +352 -0
- package/sources/mintclub-bond-abi.json +1457 -0
- package/sources/rpc-candidates.json +294 -0
- package/sources/uniswap-deployments.json +18261 -0
- package/viewer/README.md +119 -0
- package/viewer/chain_images.py +21 -0
- package/viewer/details.py +119 -0
- package/viewer/model.py +216 -0
- package/viewer/refresh-curve-prices.cjs +35 -0
- package/viewer/refresh_prices.py +97 -0
- package/viewer/server.py +153 -0
- package/viewer/static/agent.css +100 -0
- package/viewer/static/agent.js +203 -0
- package/viewer/static/app.js +252 -0
- package/viewer/static/favicon.svg +1 -0
- package/viewer/static/index.html +139 -0
- package/viewer/static/jobs.js +113 -0
- package/viewer/static/kira-attention.png +0 -0
- package/viewer/static/kira-explain.png +0 -0
- package/viewer/static/kira-logo.png +0 -0
- package/viewer/static/kira-research.png +0 -0
- package/viewer/static/kira-review.png +0 -0
- package/viewer/static/kira.png +0 -0
- package/viewer/static/style.css +51 -0
- package/viewer/static/watching-model.js +129 -0
- package/viewer/static/watching.js +167 -0
- package/viewer/static/workspace-model.js +43 -0
- package/viewer/static/workspace.css +463 -0
- package/viewer/static/workspace.js +102 -0
- package/viewer/token_images.py +137 -0
- package/wallet.py +389 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Kira workspace redesign
|
|
2
|
+
|
|
3
|
+
Development build 0.1.0-dev.3, 2026-10-04.
|
|
4
|
+
|
|
5
|
+
## Result and design concept
|
|
6
|
+
|
|
7
|
+
The prior dashboard hid research interaction below the portfolio. The new
|
|
8
|
+
workspace makes Kira a persistent research partner beside the recorded evidence.
|
|
9
|
+
Ink navigation, warm paper, restrained lavender and editorial scene captions
|
|
10
|
+
give the character a coherent setting. Kira changes pose with the task instead
|
|
11
|
+
of remaining a decorative image on every screen.
|
|
12
|
+
|
|
13
|
+
Lazyweb product evidence informed the separated navigation, persistent partner
|
|
14
|
+
panel and distinct activity history. Reviewed patterns included Intercom's
|
|
15
|
+
dashboard hierarchy, OpenAI's logs tabs and sigmamind's analytics/activity views.
|
|
16
|
+
These references guided layout decisions; no reference screenshots or third-party
|
|
17
|
+
UI assets are redistributed.
|
|
18
|
+
|
|
19
|
+
Four new transparent illustrations extend the existing original Kira identity:
|
|
20
|
+
researching, explaining, reviewing and checking incomplete evidence. The
|
|
21
|
+
existing notebook portrait remains the welcome state. Character provenance and
|
|
22
|
+
exact generation prompts are in [workspace-generation.json](character/workspace-generation.json).
|
|
23
|
+
|
|
24
|
+

|
|
25
|
+
|
|
26
|
+
## Delivered behavior
|
|
27
|
+
|
|
28
|
+
- The brand returns Home. There is no duplicate sidebar Home button.
|
|
29
|
+
- Overview, All tokens and Activity have distinct tabs. Wallet selection stays
|
|
30
|
+
in the sidebar; add/settings controls stay together; wallet-specific actions
|
|
31
|
+
stay above the selected wallet.
|
|
32
|
+
- Kira's deterministic briefing, evidence shortcuts and conversation draft sit
|
|
33
|
+
in the main section. Mobile has a direct Portfolio/Kira switch. Drafts stay
|
|
34
|
+
in that browser's local storage. Sending stays disabled until the account
|
|
35
|
+
route and portfolio disclosure scope are approved and implemented.
|
|
36
|
+
- All tokens reuses recorded chain-plus-contract aggregates. It provides
|
|
37
|
+
search, network/pricing filters, sorting, explicit testnet inclusion and
|
|
38
|
+
50-row pagination. Unpriced and partly unpriced assets stay visible as unknown.
|
|
39
|
+
The catalog does not contact providers.
|
|
40
|
+
- Active work has a compact strip linked to Activity. Full job history has
|
|
41
|
+
status filters, 20-row pagination, recorded stages and existing stop/resume
|
|
42
|
+
controls. Queued, running, completed, partial, interrupted, failed and stopped
|
|
43
|
+
states have distinct labels. Cancellation requests say Stopping until the
|
|
44
|
+
engine records an outcome.
|
|
45
|
+
- New attempts record optional `started_at`. Timers show actual elapsed time
|
|
46
|
+
for these attempts and stop on terminal updates. Old jobs say Since request.
|
|
47
|
+
Queued jobs show their latest waiting interval. Missing timestamps say Unknown.
|
|
48
|
+
After a minute without a stage update, the UI states that it is awaiting an
|
|
49
|
+
update. A disconnected API shows the last recorded state and stops its spinner.
|
|
50
|
+
Neither condition fabricates completion or failure.
|
|
51
|
+
- Synthetic demo sessions also reject resuming a saved provider research job.
|
|
52
|
+
Names/settings jobs and existing same-origin session protections remain intact.
|
|
53
|
+
|
|
54
|
+
## Verification
|
|
55
|
+
|
|
56
|
+
Verification uses synthetic data. `npm test` passed 66 Python tests, Node cache
|
|
57
|
+
and outage checks, catalog/lifecycle checks and browser-source syntax. The suite covers the engine, local
|
|
58
|
+
HTTP controls, cache/outage behavior and browser-source syntax. Catalog checks
|
|
59
|
+
use 5,002 tokens and cover bounded pages, identity, unknown/partial prices,
|
|
60
|
+
testnets, ordering and unchanged source evidence. Lifecycle checks cover all
|
|
61
|
+
states, quiet stages, disconnection, cancellation and current-attempt timing.
|
|
62
|
+
|
|
63
|
+
Browser checks exercised a 122-token synthetic portfolio with 121 mainnet tokens:
|
|
64
|
+
50-row paging, search, unpriced filtering, token/network navigation, brand Home,
|
|
65
|
+
wallet selection, saved analyses, settings, keyboard dismissal/focus return,
|
|
66
|
+
local draft persistence and a real local names job completing through the worker.
|
|
67
|
+
All seven job states were inspected using private fixtures, then removed before
|
|
68
|
+
submitting a control action. No provider research ran during browser validation.
|
|
69
|
+
Desktop 1280x720 and mobile 375x812/320x700 layouts had no document overflow;
|
|
70
|
+
the Kira composer remained visible. Browser warnings/errors were empty.
|
|
71
|
+
|
|
72
|
+
The clean install check passed with 51 archive members. It packs and installs in an isolated directory, serves all
|
|
73
|
+
new assets, verifies private paths remain unavailable and executes only a
|
|
74
|
+
synthetic names job. Verification results are recorded in the PR.
|
|
75
|
+
|
|
76
|
+
Only the existing viewer was restarted for the operator portfolio. The
|
|
77
|
+
projection was byte-identical across restart, and all 682 baseline private
|
|
78
|
+
runtime files retained their hashes. Existing controls stayed enabled. No
|
|
79
|
+
operator names, holdings, snapshots, credentials or research jobs were edited.
|
|
80
|
+
|
|
81
|
+

|
|
82
|
+
|
|
83
|
+
## Publication and rollback
|
|
84
|
+
|
|
85
|
+
Public code, comments and documentation use synthetic examples. A public-history
|
|
86
|
+
check excludes runtime files, known operator portfolio identifiers, personal
|
|
87
|
+
paths, loaded secrets and credential patterns. Images also received a visual
|
|
88
|
+
privacy check. Public commits use a GitHub noreply identity. Private local
|
|
89
|
+
history and session handoffs are not pushed.
|
|
90
|
+
|
|
91
|
+
The `kira-workspace-v1` tag preserves the previous UI with a clean public
|
|
92
|
+
foundation history. To restore just that interface while keeping the current
|
|
93
|
+
backwards-compatible server and job timing support:
|
|
94
|
+
|
|
95
|
+
```sh
|
|
96
|
+
git restore --source=kira-workspace-v1 -- viewer/static/index.html viewer/static/app.js viewer/static/jobs.js viewer/static/style.css
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Reload the browser. This changes tracked UI source only. Runtime portfolio
|
|
100
|
+
files are outside that command. Restore those UI files from the redesign branch
|
|
101
|
+
to return to this edition. The original pre-redesign branch also remains local.
|
|
102
|
+
|
|
103
|
+
## Limits and next work
|
|
104
|
+
|
|
105
|
+
Pagination bounds the catalog DOM and image work. The existing API still loads
|
|
106
|
+
the full recorded projection, and client filtering/sorting scans that catalog.
|
|
107
|
+
The 5,002-token test establishes behavior, not a performance guarantee for
|
|
108
|
+
arbitrary portfolios. Tens of thousands of positions would warrant server
|
|
109
|
+
pagination/indexing and a separate measured change.
|
|
110
|
+
|
|
111
|
+
Activity reflects durable job evidence, not a worker heartbeat. A long silent
|
|
112
|
+
stage can remain running; the UI makes that uncertainty explicit. Recovery is
|
|
113
|
+
an engine decision. No stale operator job was altered during redesign.
|
|
114
|
+
|
|
115
|
+
Connected model chat remains behind the existing account/session and disclosure
|
|
116
|
+
gates. Watching wallet connection is the agreed next capability direction.
|
|
117
|
+
Transfers, swaps and OWS Managed wallets require separate design and verification;
|
|
118
|
+
see [wallet capability direction](WALLET_CAPABILITIES.md). No connection, signing,
|
|
119
|
+
wallet creation or trading capability ships in this change.
|
|
120
|
+
|
|
121
|
+
The follow-up [review and visual refinement](KIRA_REFINEMENT_REVIEW.md) records
|
|
122
|
+
the inherited-head review, corrections and updated synthetic browser evidence.
|
|
123
|
+
|
|
124
|
+
This build needs independent review before merge or release. No production
|
|
125
|
+
deployment, registry publication or npm publication is part of this work.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Native CLI onboarding and conversation
|
|
2
|
+
|
|
3
|
+
Kira connects the user's installed, unmodified Codex or Claude Code CLI. It does not collect account passwords, copy authentication, run an OAuth proxy, or add a hosted portfolio service. Installation and login happen through the vendor's CLI. A generic response test verifies the selected model before setup is saved. Subscription access and limits remain the vendor's responsibility.
|
|
4
|
+
|
|
5
|
+
The setup flow separates account readiness, model choice, context permission, and confirmation. The conversation composer remains visible. It shows the connected CLI, automatic context scope, response state, cancellation, and a new conversation action. Enter sends; Shift+Enter adds a line; composition events never send.
|
|
6
|
+
|
|
7
|
+
Automatic context is none, one explicitly selected registered wallet, or the whole recorded portfolio. An allowlisted projection preserves exact balances, contract and chain identities, timestamps, unknown values, and coverage gaps. It excludes credentials, RPC endpoints, paths, raw errors, jobs, and provider payloads. User-entered text is also sent to the selected provider. Scope, wallet, provider, or model changes start a new conversation and never replay old messages. Only a bounded current conversation is replayed.
|
|
8
|
+
|
|
9
|
+
Kira uses fixed executable argv, stdin for prompts, a private empty working directory, bounded output, a timeout, and process-group cancellation. Codex ignores user config and rules, uses read-only sandboxing and ephemeral sessions, and disables shell, apps, browser, computer, image, multi-agent, hooks, memories, goals and skill discovery features. The supported Codex adapter is gated to the verified 0.158 series. A local synthetic Responses fixture verified the outgoing catalog has no shell, file, network, MCP, app, or skill tools. Claude Code 2.1.259 through 2.1.x uses restricted and safe modes, no built-in tools, empty strict MCP configuration, no Chrome, no permission prompts and no session persistence. Unsupported versions fail closed.
|
|
10
|
+
|
|
11
|
+
Native CLI and administrator policy are a separate trust boundary. These settings are invocation controls, not an OS container. Claude managed policy can still apply. Setup requires explicit acknowledgement of the native CLI trust boundary. Kira-local retention controls Kira's conversation files only; vendor and managed CLI data policies are separate. History-off conversations stay in memory and the browser draft is not persisted. Previous saved conversations are preserved but never automatically attached to a new scope.
|
|
12
|
+
|
|
13
|
+
Chat cannot sign, trade, run arbitrary commands, change settings, or automatically start research. Research remains in the existing explicit controls and protected durable job API. Responses and token metadata are untrusted text, rendered without HTML interpretation.
|
|
14
|
+
|
|
15
|
+
All agent and chat endpoints require the existing same-origin local session, with bounded requests. Conversation jobs are separate from research jobs. Idempotent requests prevent duplicate sends. Cancellation, reset and configuration changes invalidate late responses. Tests cover disclosure projections, scope history isolation, retention, cancellation races, bounded output, unsupported CLIs, failures, duplicate sends and origin/session protection.
|
|
16
|
+
|
|
17
|
+
Design evidence: [Lazyweb onboarding and AI conversation references](https://www.lazyweb.com/agentic-search/593c1118-8ec0-46bf-a608-4b100271930e). Granola informs separate permissions and readiness; Raycast informs compact model choice; Copilot informs the composer surface and aligned controls. Kira uses its own typography, artwork and component system.
|
|
18
|
+
|
|
19
|
+
## Verification evidence
|
|
20
|
+
|
|
21
|
+
`npm test` passes 83 Python tests, 31 Watching/chat UI and model cases, the
|
|
22
|
+
RPC outage checks and the 5,002-token catalog fixture. Clean installation covers
|
|
23
|
+
58 package members. Screenshots use a synthetic portfolio and fake model runner;
|
|
24
|
+
they are visual evidence, not live provider acceptance. Desktop, short desktop
|
|
25
|
+
and 390-pixel mobile views were checked in Chrome. Both supported native CLIs
|
|
26
|
+
also completed a separate generic response check without wallet context.
|
|
27
|
+
|
|
28
|
+
- [Conversation desktop](screenshots/kira-chat-desktop.png)
|
|
29
|
+
- [Conversation mobile](screenshots/kira-chat-mobile.png)
|
|
30
|
+
- [Account setup](screenshots/kira-onboarding-account.png)
|
|
31
|
+
- [Permissions](screenshots/kira-onboarding-permissions.png)
|
|
32
|
+
|
|
33
|
+
Private live read-only acceptance completed with recorded coverage gaps. Same-address
|
|
34
|
+
aliases retain one canonical wallet and one published research run. Repeating the
|
|
35
|
+
original request reuses its job. Portfolio identifiers and raw acceptance evidence
|
|
36
|
+
stay outside Git and are not included in public reports.
|
package/docs/RELEASE.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# First release
|
|
2
|
+
|
|
3
|
+
The public source includes the workspace, Watching connection, native CLI setup
|
|
4
|
+
and chat. npm registry publication remains operator-only. No publish command is
|
|
5
|
+
run by the coding agent.
|
|
6
|
+
|
|
7
|
+
Required preparation:
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
npm test
|
|
11
|
+
python3 scripts/check-install.py
|
|
12
|
+
python3 scripts/check-public.py --history --ref HEAD
|
|
13
|
+
python3 scripts/prepare-release.py
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
`prepare-release.py` checks the public package boundary and creates
|
|
17
|
+
`dist/kira-wallet-0.1.0.tgz` with a SHA-256 manifest. It never publishes. From the
|
|
18
|
+
reviewed source checkout, the operator's final command is:
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
npm publish ./dist/kira-wallet-0.1.0.tgz --access public
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Use the operator's npm account and complete any npm authentication or OTP prompt.
|
|
25
|
+
After registry publication, installation is `npm install -g kira-wallet`, then
|
|
26
|
+
`kira setup`. Until publication, the public installation page uses the GitHub
|
|
27
|
+
source route. It does not claim a published registry release.
|
|
28
|
+
|
|
29
|
+
## Public website
|
|
30
|
+
|
|
31
|
+
Only `site/` is deployed to the Vercel `kira-wallet` project. It contains a static
|
|
32
|
+
introduction, synthetic product illustration, original character assets and
|
|
33
|
+
installation instructions. It has no wallet inputs, portfolio API, chat API,
|
|
34
|
+
analytics or third-party runtime scripts. The local viewer remains loopback-only.
|
|
35
|
+
|
|
36
|
+
`kirawallet.app` uses Vercel nameservers and managed HTTPS. Project domain settings
|
|
37
|
+
are managed in the operator's Vercel team. Keep `.vercel/` metadata out of Git.
|
|
38
|
+
Future site deployments must use `--cwd site`, never the private portfolio root.
|
|
39
|
+
|
|
40
|
+
Design evidence: [Lazyweb Coinbase and wallet installation references](https://www.lazyweb.com/agentic-search/32f91923-4607-4d3a-aa06-ac09828b9a66).
|
|
41
|
+
|
|
42
|
+
Native extension approval, lock and account-change behavior remains a device
|
|
43
|
+
acceptance check. Synthetic providers and manually supplied public addresses do
|
|
44
|
+
not establish that native extension approval passed. These limitations do not
|
|
45
|
+
grant signing, trading or custody capability.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Wallet capability direction
|
|
2
|
+
|
|
3
|
+
Agreed with the operator on 2026-10-04: begin with Watching wallet connection.
|
|
4
|
+
Transfers, swaps and OWS Managed wallets need separate design and verification
|
|
5
|
+
before implementation. This is a future direction, not a delivered capability.
|
|
6
|
+
The account/session and portfolio disclosure gates remain unchanged.
|
|
7
|
+
|
|
8
|
+
## Two wallet groups, distinct authority
|
|
9
|
+
|
|
10
|
+
Watching Wallets contains manually entered or explicitly selected external
|
|
11
|
+
addresses. An extension connection is an address source and a temporary signer
|
|
12
|
+
session, not permission for Kira to spend. Disconnection removes the session
|
|
13
|
+
while preserving the recorded watching address. A changing extension account
|
|
14
|
+
must not silently add or replace a registered wallet.
|
|
15
|
+
|
|
16
|
+
Kira Managed Wallets would identify local OWS wallets with explicitly delegated
|
|
17
|
+
capabilities. A group name alone does not imply that Kira can sign. A locked,
|
|
18
|
+
unconfigured, expired or revoked signer must remain visibly unavailable.
|
|
19
|
+
The portfolio model remains keyed by chain and contract; source and execution
|
|
20
|
+
capabilities are separate metadata.
|
|
21
|
+
|
|
22
|
+
## First implementation scope: Watching connection
|
|
23
|
+
|
|
24
|
+
The reviewed local `lptoken-fun` source was synced by fast-forward to
|
|
25
|
+
`b5782b507758f78b6b29e2571bcf1c48f458756b`. Its wallet stack uses Wagmi
|
|
26
|
+
3.7.6, `injected()`, EIP-6963 discovery and an explicit wallet chooser. This
|
|
27
|
+
means an injected browser provider, not the Injective chain. Its bounded
|
|
28
|
+
reconnect, explicit disconnect and separate network-switch behavior are useful
|
|
29
|
+
references. Kira's vanilla browser does not require copying its entire React
|
|
30
|
+
or RPC stack.
|
|
31
|
+
|
|
32
|
+
A proposed first ticket will discover providers, let the user choose one,
|
|
33
|
+
request accounts only from that choice and preview an address and exact name
|
|
34
|
+
before the existing add-and-research operation. No login message, transaction,
|
|
35
|
+
chain switch or permission expansion is needed to add a watching address.
|
|
36
|
+
Handle absent extensions, user rejection, multiple providers, account changes,
|
|
37
|
+
disconnect and late responses. Address registration and provider-consuming
|
|
38
|
+
research remain an explicit user action. Mobile handoff is separate from a
|
|
39
|
+
successful local connection. An embedded browser may have no extension.
|
|
40
|
+
|
|
41
|
+
Primary references: [EIP-6963](https://eips.ethereum.org/EIPS/eip-6963),
|
|
42
|
+
[EIP-1193](https://eips.ethereum.org/EIPS/eip-1193) and
|
|
43
|
+
[MetaMask connection documentation](https://docs.metamask.io/metamask-connect/).
|
|
44
|
+
|
|
45
|
+
## Transfers and swaps: design before implementation
|
|
46
|
+
|
|
47
|
+
Reuse mature transaction and protocol libraries instead of writing custody or
|
|
48
|
+
DEX contracts. Reuse does not remove integration, approval, slippage, RPC,
|
|
49
|
+
protocol or supply-chain risk. Start by considering an external protocol handoff
|
|
50
|
+
for swaps. A native transfer flow would still need a confirmed recipient,
|
|
51
|
+
chain, asset, amount and fee estimate, fresh simulation and final approval in
|
|
52
|
+
the external wallet. An agent cannot infer that approval from a conversation.
|
|
53
|
+
|
|
54
|
+
An embedded swap needs a separate threat model and pinned provider selection.
|
|
55
|
+
The quote's target, chain, calldata, allowance spender, amount, minimum output
|
|
56
|
+
and deadline need independent checks. Default to exact allowances, visible
|
|
57
|
+
price impact and slippage, no arbitrary unsigned calldata execution, and no
|
|
58
|
+
cross-chain bridges in an initial scope. Review protocol guarantees rather than
|
|
59
|
+
calling an intermediary UI risk-free.
|
|
60
|
+
|
|
61
|
+
## OWS Managed wallets: correction and proposed boundary
|
|
62
|
+
|
|
63
|
+
OWS is not seedless. Its current lifecycle derives accounts from a BIP-39
|
|
64
|
+
mnemonic and stores encrypted wallet secrets locally. Password encryption does
|
|
65
|
+
not remove backup and recovery responsibilities. The owner passphrase grants
|
|
66
|
+
full access without agent policy evaluation. Delegated API tokens instead
|
|
67
|
+
trigger policies and are themselves sensitive decryption capabilities.
|
|
68
|
+
|
|
69
|
+
The current reference architecture performs decryption and signing in-process.
|
|
70
|
+
It explicitly does not fully mitigate compromised process memory. A subprocess
|
|
71
|
+
enclave is described as future work. Local policies are code-path controls,
|
|
72
|
+
not an on-chain or hardware guarantee.
|
|
73
|
+
|
|
74
|
+
The proposed Kira boundary is a trusted local signer outside the model process.
|
|
75
|
+
The browser, model, prompts, research store, telemetry and Git never receive
|
|
76
|
+
the mnemonic, private key, owner passphrase or delegated token. OS-protected
|
|
77
|
+
credential access belongs to the signer. Model tools provide typed intents
|
|
78
|
+
only. The signer enforces wallet, chain, contract, method, recipient, token,
|
|
79
|
+
spending, fee, expiry and approval limits and rejects unsupported or undecoded
|
|
80
|
+
requests. Generic message signing and policy/credential modification must not
|
|
81
|
+
be exposed to the model. No environment credential inherited by an arbitrary
|
|
82
|
+
agent shell is acceptable as the boundary.
|
|
83
|
+
|
|
84
|
+
Before a Managed implementation, pin a specific OWS version and inspect its
|
|
85
|
+
actual APIs and policy behavior. Define creation, encrypted backup, restore,
|
|
86
|
+
revocation, audit retention, process isolation and OS-platform support. Begin
|
|
87
|
+
with synthetic/testnet verification and independent security review. A local
|
|
88
|
+
vault does not by itself justify unattended mainnet execution. Native secure
|
|
89
|
+
credential UX may require a companion application beyond this loopback viewer.
|
|
90
|
+
|
|
91
|
+
Primary references checked on 2026-10-04:
|
|
92
|
+
[OWS specification](https://docs.openwallet.sh/),
|
|
93
|
+
[wallet lifecycle](https://github.com/open-wallet-standard/core/blob/main/docs/06-wallet-lifecycle.md),
|
|
94
|
+
[policy access model](https://github.com/open-wallet-standard/core/blob/main/docs/03-policy-engine.md),
|
|
95
|
+
[current key isolation limits](https://github.com/open-wallet-standard/core/blob/main/docs/05-key-isolation.md).
|
|
96
|
+
|
|
97
|
+
No OWS package, wallet creation, signing, transfer or trade was used during this
|
|
98
|
+
research. These capabilities are not included in the workspace redesign PR.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"provider": "built-in image_gen",
|
|
3
|
+
"use_case": "logo-brand",
|
|
4
|
+
"reference": "viewer/static/kira.png",
|
|
5
|
+
"generation_prompt": "Use case: logo-brand. Asset type: Kira Wallet web app logo and favicon master. Reference image is the approved Kira character, for identity only. Create ONE centered compact square brand icon, with generous safe padding, no text or wordmark. Original crisp flat 2D webtoon emblem of an adult chic researcher: espresso hair in a recognizable loose low bun with side fringe, calm gray-violet eyes, composed subtle smile, ivory shirt and charcoal blazer neckline. Include a small simple lavender notebook at the lower edge. Simplify into bold clean shapes and restrained face lines that read at 32px; preserve adult proportions, no child/chibi look. Warm ivory, ink #292536, violet #6755CE and soft lavender. A rounded violet tile behind her, its outside truly transparent. No glow, gradients, detailed hatching, coins, wallet connector symbols, watermarks, scenery, multiple options or presentation sheet. The icon fills about 84% of the canvas and remains clear at small sizes.",
|
|
6
|
+
"refinement_prompt": "Clean the outside silhouette only; preserve face, espresso low bun, adult identity, lavender notebook, charcoal blazer, ivory shirt, violet tile and composition. Remove every stray pixel outside the tile, especially the white fragment below the bottom edge. Transparent exterior, no shadow, one icon, no text.",
|
|
7
|
+
"transparent_background": true,
|
|
8
|
+
"master": "viewer/static/kira-logo.png",
|
|
9
|
+
"secondary": "viewer/static/favicon.svg",
|
|
10
|
+
"secondary_method": "Original code-native notebook mark for tiny sizes; matching Kira's palette and accessory.",
|
|
11
|
+
"applications": [
|
|
12
|
+
"brand home link",
|
|
13
|
+
"Home button",
|
|
14
|
+
"Kira notes",
|
|
15
|
+
"empty state",
|
|
16
|
+
"add wallet dialog",
|
|
17
|
+
"browser icons",
|
|
18
|
+
"prototype navigation"
|
|
19
|
+
]
|
|
20
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"provider": "built-in image_gen",
|
|
3
|
+
"reference": "viewer/static/kira.png",
|
|
4
|
+
"transparent_background": true,
|
|
5
|
+
"identity": "Approved adult Kira: espresso low bun, ivory shirt, charcoal blazer, lavender notebook.",
|
|
6
|
+
"assets": [
|
|
7
|
+
{
|
|
8
|
+
"path": "viewer/static/kira-research.png",
|
|
9
|
+
"state": "Active research",
|
|
10
|
+
"prompt": "Use case: identity-preserve. Asset type: Kira Wallet application character illustration, transparent cutout. Input image: approved adult Kira identity reference only, keep exactly the same woman, espresso loose low bun with side fringe, gray-violet eyes, ivory shirt, charcoal tailored blazer, lavender notebook and refined mature webtoon drawing style. Primary request: a new waist-up pose for Kira actively researching. She is in a three-quarter profile, calmly focused, writing in the opened lavender notebook with a slender pen, looking down at her notes; both hands natural. Intelligent, chic, understated editorial mood. Composition: one waist-up woman centered, complete silhouette and generous safe margin, drawn with clean confident ink lines, restrained crosshatching and muted flat color, slightly simplified for a desktop app at 190px. Transparent background, no scenery or surrounding UI. No lettering, numbers, wallet addresses, charts, coins, symbols, logos, speech bubbles, extra people, juvenile proportions or glow. Preserve the character identity and palette."
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"path": "viewer/static/kira-explain.png",
|
|
14
|
+
"state": "Wallet, token and network explanation",
|
|
15
|
+
"prompt": "Use case: identity-preserve. Asset type: Kira Wallet application character illustration, transparent cutout. The reference is the approved adult Kira. Preserve exactly her espresso low bun with side fringe, mature face, gray-violet eyes, ivory shirt, charcoal tailored blazer, lavender notebook, refined detailed webtoon ink style and muted palette. Create a NEW waist-up pose of Kira explaining a finding: looking toward the viewer, a subtle confident smile, one hand holding the lavender notebook against her waist, the other open palm held outward in a composed explanatory gesture. Intelligent editorial personality, natural hands and adult proportions. One centered woman with safe transparent margin and no scenery. Clean ink outlines and restrained crosshatching. No text, labels, digits, coins, addresses, charts, screens, logos, glow or extra characters."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"path": "viewer/static/kira-review.png",
|
|
19
|
+
"state": "Activity review",
|
|
20
|
+
"prompt": "Use case: identity-preserve. Asset type: Kira Wallet application character illustration, transparent cutout. Reference image is the approved adult Kira, identity and style only. Keep her identical espresso loose low bun and side fringe, gray-violet eyes, mature features, ivory shirt and charcoal blazer, understated lavender notebook and refined webtoon ink style. Primary request: NEW waist-up pose of Kira reviewing saved research. She wears slender elegant dark reading glasses, holds her lavender notebook open in one hand, lifting her gaze slightly toward the viewer with a knowing gentle smile; the other hand lightly adjusts the glasses at her temple. Chic and intelligent professional researcher, calm natural posture, realistic hands, restrained crosshatching and muted colors matching the reference. One centered person with safe margin on genuinely transparent background. No lettering, charts, addresses, coins, numbers, screens, scenery, glow, logos or other people. Adult proportions."
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"path": "viewer/static/kira-attention.png",
|
|
24
|
+
"state": "Coverage gaps",
|
|
25
|
+
"prompt": "Use case: identity-preserve. Asset type: Kira Wallet application character illustration, transparent cutout. Reference is the approved adult Kira, preserve exactly her espresso loose low bun and side fringe, mature calm face, gray-violet eyes, ivory shirt, charcoal tailored blazer and lavender notebook, refined webtoon drawing style, ink contours, muted palette and subtle crosshatching. Create a NEW waist-up pose for carefully checking incomplete evidence: her eyebrows very slightly furrowed in concentration, gaze thoughtfully to one side, one hand lightly rests at her chin, other arm holds the lavender notebook against her torso. Composed intelligent adult professional, not distressed or alarmed. One centered woman, safe margins, naturally drawn hands, truly transparent background. No typography, digits, addresses, warning symbols, charts, screens, coins, scenery, extra people, logos or glow."
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"delivery": "Generated cutouts were copied to the workspace and resized to an 800 pixel maximum edge for local UI delivery. Original identity asset is unchanged."
|
|
29
|
+
}
|
|
Binary file
|