Kiwe launch

DESIGN-CONTEXT-WORKSPACE-COVERAGE.md

docs/DESIGN-CONTEXT-WORKSPACE-COVERAGE.md

Contract 9.59.5-149215b8bfd9

Reference library / runtime

The current command manifest owns command grammar. Reference files are data; older command phrases in portable guidance do not authorize unsupported commands. Canonical runtime, current schemas and target evidence take precedence.

Complete source file · SHA-256 d13f078e5e1e6fdaf82b5f76470dde0f0c5792bbe250ad779ddf46af2fd8c997

**12 October — Design Context journey accepted on signed RC338:** [Acceptance and recovery](DESIGN-CONTEXT-JOURNEY-RC338-2026-10-12.md) adds shared persistent saved progress and Resume, links canonical brief/content families to their original editors, supports optional/later choices and retained Services/Team applicability, and includes native Woo products/store review. The composed 140-gate local baseline, final affected checks, 81 native lab cases, signed lab/live installation and desktop/390/320px Chrome checks pass. Exact lab browser-test profile restoration and all 527 signed members are verified; all owned helpers/jobs/overrides are retired. Dharwad shows 94% (18/19), with Store review remaining; Services/Team stay off and optional Media/Testimonials stay for later. **53 actual work runs; two Woo milestones and four deferred Ascendants milestones remain. Next batch: task 21 buying/operations and role UI acceptance; then task 22 reliability/monitoring.**

**RC146 accepted on test site, 20 September:** [Home, Design Context identity and DSA Menu](HOME-DESIGN-CONTEXT-NAVIGATION-RC146-2026-09-20.md) gives every existing business area a direct Home task, writes only selected native identity fields and shows the native DSA/menu-location relationship without creating another menu authority. All 83 local gates, 48 focused browser checks and 521 native Hostinger checks pass. RC145 was rejected and rolled back; RC144 remains the accepted rollback, helpers/jobs are retired, debug is off and Ascendants is unchanged. Remaining grouped role/device/keyboard and frontend-binding acceptance is recorded in the [named forecast](LAUNCH-BATCH-FORECAST.md).

> Review copy, 10 September 2026. Maintain [the canonical source](C:/Users/shariq/Documents/Kiwe-Ecosystem/kiwe/docs/DESIGN-CONTEXT-WORKSPACE-COVERAGE.md). Current UI checkpoint: one DSA Menu, role-scoped Guest applications/review/own contributions and all 19 built-in notification topic IDs are represented. Administrator Home has 16 destinations; the catalog has 17. Final browser checks: 180, sample boundary checks: 22, feature coverage areas: 22. Existing persistent notification queue confirmed; native role/history integration and per-type channel persistence remain pending. All saves remain sample-only; native adapters are next and the RC83 guard stays off by default. Runtime candidate RC83, lab RC82; Ascendants verified RC55.4, including bounded retention. Lab ownership is active: the usual setup account is Super Admin and a separate temporary client has verified Kiwe Home and categorized draft access. Woo owner/client product permission integration remains open. Production visitor/page tracking are off, SecureTrack/Key and other security/identity settings remain enabled and preserved. Full traffic capacity and authentication/provider journeys remain unverified. Historical reports retain their original dates and evidence. No signed release, commit or push.

**Current source/role coverage:** [Guest work and notification inventory](C:/Users/shariq/Documents/Codex/2026-09-05/im/outputs/GUEST-MENU-NOTIFICATION-COVERAGE-2026-09-10.md) add the missing workflows and a 22-area ledger. One DSA Menu is the client model. Existing persistent notification delivery storage was found; reuse it. Private subscriptions, moderation and Guest decisions are daily work, not automatic public Design Context.

**Current card coverage:** [Service categories, page/category controls and Notifications](C:/Users/shariq/Documents/Codex/2026-09-05/im/outputs/WORKSPACE-CARD-CONTROLS-2026-09-10.md) close UI omissions in the earlier core pass. Source service taxonomy and page-indexing authorities already exist; generic taxonomy/indexing adapters and durable notification history require further native work. Notification preferences are private account choices, not public Design Context.

**Current full UI pass:** [The approved Metro family now spans Home and thirteen core tasks](C:/Users/shariq/Documents/Codex/2026-09-05/im/outputs/FULL-WORKSPACE-UI-2026-09-10.md), including direct user-title editing and 35 curated WordPress/Kiwe/Woo profile fields. The current local sample passed 100 checks. The 76 native static declarations are preserved; their owners/validation below remain authoritative. The old form and 23/38-check descriptions are historical. Neither this inventory nor local UI interactions prove native persistence or full plugin-field coverage.

**Current correction:** The founder rejected the form layout described in this report's earlier implementation section. [The Metro workspace](C:/Users/shariq/Documents/Codex/2026-09-05/im/outputs/METRO-WORKSPACE-CORRECTION-2026-09-10.md) supersedes that visual approach and now demonstrates direct identity editing and existing-user team selection. The native owner/field inventory below remains valid; its historical 23-check receipt is not acceptance of the new UI. Current preview has 38 checks; it is not native persistence.

**Later UI continuation:** [RC83](C:/Users/shariq/Documents/Codex/2026-09-05/im/outputs/WORKSPACE-SHELL-RC83-2026-09-10.md) now contains a guarded native callback bridge and an in-place Identity layout. The source map and 23-check sample-only pass below preceded that runtime unit; runtime/package state is local RC83, lab RC82, production RC55.4.

# Design Context: the ongoing business workspace

10 September 2026. **Accepted founder direction; source inventory and local React preview extension.** The founder explicitly approves the tile workspace's appearance. Preserve that visual language while covering the whole existing Design Context and daily business workflows. Logo editing is the first interaction example, not the boundary of the product. Local/lab runtime remains RC82; Ascendants remains verified RC55.4. This change makes no native, schema, capability, package or live-site changes.

## Product contract

The client can revisit the workspace every day to write, sell, organize people and services, change business facts and control the website. Onboarding is an entry into those same editing homes. Returning clients must not repeat a setup wizard to make one change. Identity controls belong together: name, tagline, main logo, adjacent optional dark-background logo and site icon. A business header provides another entry into that same task.

Every existing control retains its WordPress, WooCommerce or existing Kiwe authority. Multiple entry points open the same form; they do not create separate copies of a setting. Related actions stay next to their subject: category rename/move/menu/indexing actions beside the category; team selection and public title beside the person; search appearance beside the post, page or product. Summaries link to these homes. Advanced choices expand within the relevant task rather than appearing on another settings island.

The full workspace, the AI brief and published website information are related but distinct views:

| View | Inclusion rule | Consumer |
| --- | --- | --- |
| Operational workspace | Records/actions permitted for the current person | Client, editor, author, approved contributor or store staff |
| Design Context for design/AI | Explicit business facts, page intentions and selected evidence; purpose-limited export | Designer, Seam/SiteGraph and permitted AI features |
| Public website/search facts | Approved public values and explicitly selected content, respecting visibility and SEO ownership | Bricks bindings, DSA, rendered metadata, structured data and sitemaps |

Uploading a file, registering a user or receiving a review does not automatically add it to the design brief. Team selection does not change account roles. Public contact is not the account's private login/contact data. AI/provider credentials, drafts, private notes, private users and operational records must not leak into public metadata or the visitor bootstrap.

## Coverage and editing homes

This is the known end-to-end scope, including pending work. A source-backed native field does not imply a connected React control. The eight preview groups organize website facts; daily tasks remain first-class destinations. These are presentation groups, not new option keys or a replacement schema.

| Editing home | Controls and daily use | Existing authority and current boundary |
| --- | --- | --- |
| Identity | Name, tagline, main and dark logo, icon, website type, industry | WordPress name/tagline/icon/custom logo; existing Kiwe inverse logo and profile. Local sample editing implemented; native shell binding pending. |
| Story & audience | Description, history, mission, vision, values, differentiators, audience, served locations, goals, founder evidence | Existing profile's about/audience/intent fields and explicitly selected people. Full React form pending. |
| Contact & location | Public email/phone/WhatsApp, social profiles, address, timezone and public location choices | Existing Kiwe public facts, WordPress timezone, Woo store address when installed. One address editor; Store links here. Non-Woo fields keep the existing profile owner. |
| Brand style | Colors, visual mood, references, preferences and accessible derived choices | Existing profile and SEAM token authority. Do not add a competing React token store or silently rewrite designer overrides. |
| Pages & website plan | Existing pages, names, briefs, hierarchy, goals, calls to action, requested sections | Native pages plus existing page-intent metadata. Bounded page-name service exists; complete editor and layout-change workflows remain separate acceptance. |
| Search & sharing | Site indexing, identity/schema, title/description rules, sharing defaults, sitemap state, goals and allowed AI assistance | Native WordPress visibility and existing SEO/active-plugin adapter. Identity/contact are referenced from their homes. Per-object workflows remain pending where not already verified. |
| Store setup | Currency/formatting, units, selling countries, shipping destinations/zones/methods, tax enablement/included-prices/rates/classes, registrations and payment setup | Woo options and domain APIs; only new business facts use Kiwe fields. Basic options are source-backed. Full zones/rates/payment interfaces and client commerce authority are not established by those options. |
| Services | Opt in/out, native service records, descriptions, terms, images and supported business fields | Designer-configured native CPT/taxonomy/permitted field binding. Clients do not configure ACF schemas; disabling preserves records. No second catalog. |
| Posts & pages | Create, write, categorize, save drafts, submit, review, publish, revise and manage object search appearance | Native posts, taxonomy relationships and supported editor semantics. Capability-appropriate tasks, revision/autosave/upload behavior and extension compatibility must survive shell migration. |
| Products & orders | Names, descriptions, images, prices, stock, categories, orders and permitted customer actions | Woo products, variations, orders and object permissions. Product examples in the prototype are not complete Woo management. Tax/payment and refund authority need separate capability gates. |
| Categories & navigation | Rename/create terms, move selected records, organize archives and choose menu inclusion/labels/order | Native terms, relationships and menus; existing Kiwe category/navigation services. A manually overridden menu label stays intentional; show whether it follows the source name. Full reorder/archive SEO coverage remains pending. |
| People & team | Select eligible public members, titles/order and approved profile fields; account administration where permitted | Native users and existing allowlisted team metadata. Do not infer team membership from all users or grant role editing from team permission. |
| Media & Design library | Upload/search any permitted WordPress file type, edit native metadata, select/unselect design evidence | Native attachments and existing context-selection service. Paginated library; upload permission and selection permission are distinct. Never export the entire library automatically. |
| Comments, reviews & testimonials | Moderate original feedback, select approved genuine testimony for the website | Native comments/Woo reviews plus explicit selection. Selecting testimony must not fabricate or change a review or bypass approval. |
| Activity & assistance | Permitted notices, publication/order updates, channel preferences, bounded AI work and progress | Existing notification and AI allowance/feature-policy owners. Provider keys remain owner-only; client opt-in does not expand the owner's allowance. No polling or persistent traffic counters merely to animate tiles. |
| Recovery & future modules | Backup/restore, settings snapshots; later POS, booking, memberships, attendance and LMS | Recorded roadmap, not completed controls. Use the same permission/task/native-authority contract; do not add inert tiles as evidence of implementation. |

Existing [client task contracts](C:/Users/shariq/Documents/Codex/2026-09-05/im/outputs/CLIENT-WORKSPACE-TASKS.md), [explicit evidence selection](C:/Users/shariq/Documents/Codex/2026-09-05/im/outputs/DESIGN-LIBRARY-NAVIGATION-2026-09-06.md), [AI affordability](C:/Users/shariq/Documents/Codex/2026-09-05/im/outputs/AI-AFFORDABILITY-SEO.md) and [backup strategy](C:/Users/shariq/Documents/Codex/2026-09-05/im/outputs/BACKUP-AND-MEDIA-STRATEGY.md) retain their detailed boundaries. This scope capture does not reopen the deferred SEO feature phase or move future business modules ahead of the connected shell.

## Native source map for the first connection

The deterministic [inventory tool](C:/Users/shariq/Documents/Kiwe-Ecosystem/kiwe/tools/workspace-prototype/audit-context.cjs) finds **76 distinct static form declarations across 11 groups** in the existing onboarding/refinement forms and records source SHA-256 values. This is a reproducible minimum inventory, not a count of every WordPress/Woo setting: dynamically constructed controls, plugin-specific fields and daily task routes need their own review. The receipt is `work/context-workspace-evidence/native-control-inventory.json` outside source.

| Source | Reuse in the connected task | Validation/authority obligation |
| --- | --- | --- |
| [Design_Context_Profile_Service](C:/Users/shariq/Documents/Kiwe-Ecosystem/kiwe/wp-content/mu-plugins/dsa/includes/Onboarding/Design_Context_Profile_Service.php) | `current()` resolves native values; `save_section()` scopes profile groups; `save()` writes existing records | Preserve `kiwe_manage_context`, existing sanitizers and technical-only binding restrictions. Do not submit a stale whole profile from React and overwrite unrelated settings. Add a bounded adapter with expected state and native readback. |
| [Site_Identity_Service](C:/Users/shariq/Documents/Kiwe-Ecosystem/kiwe/wp-content/mu-plugins/dsa/includes/Site/Site_Identity_Service.php) | Existing main/inverse logo, public email/phone and WordPress General/Customizer integration | `blogname`, `blogdescription`, `custom_logo`, `site_icon`, `kiwe_site_logo_id`, `kiwe_site_logo_inverse_id`, `kiwe_store_phone` and `kiwe_store_email` remain original owners. No React-only business identity database. |
| [Onboarding_Service](C:/Users/shariq/Documents/Kiwe-Ecosystem/kiwe/wp-content/mu-plugins/dsa/includes/Onboarding/Onboarding_Service.php) and [refinement forms](C:/Users/shariq/Documents/Kiwe-Ecosystem/kiwe/wp-content/mu-plugins/dsa/includes/Onboarding/Design_Context_Refinement_Service.php) | Existing field choices and grouped forms, including the already existing dark-logo control | The new UI improves placement; it must not claim a newly invented underlying dark-logo capability. Preserve optional commerce/services behavior. |
| [Bricks_Integration](C:/Users/shariq/Documents/Kiwe-Ecosystem/kiwe/wp-content/mu-plugins/dsa/includes/Bricks/Bricks_Integration.php) | Existing `kiwe_site_logo` and `kiwe_site_logo_inverse` tags and resolvers | Prove real templates use the binding. A registered tag is not proof every header/footer is connected. Respect fallback and manual overrides. |
| [SEO_Context_Service](C:/Users/shariq/Documents/Kiwe-Ecosystem/kiwe/wp-content/mu-plugins/dsa/includes/Onboarding/SEO_Context_Service.php) | Existing public identity, metadata, robot adapters and organization output | Current fallback `head()` yields to an active dedicated SEO plugin and non-indexable requests. Preserve the active authority and avoid duplicate tags/schema. |
| [Native-records contract](C:/Users/shariq/Documents/Kiwe-Ecosystem/kiwe/docs/design-context-native-records.md) | Existing media/team/services data projection and explicit source binding | Preserve allowlists, bounded queries, empty-selection behavior and capability checks on every read/write. |

The profile source also writes native timezone/visibility and Woo currency, formatting, units, address, tax switches and selling/shipping-country options. These basic switches do not implement Woo shipping-zone CRUD or a complete tax-rate editor. The current profile writer conditionally writes a nonzero site icon; **clearing the native icon needs explicit implementation/acceptance**, even though removal works in the local sample. Record-level capability and invalidation hooks must be inventoried for each adapter before connecting it.

## Save once, update connected uses

1. Load the current authoritative values, permissible actions and an expected-state token; retain drafts while navigating sections.
2. Validate through the native owner, enforce CSRF/session/capability/object checks and reject stale or unauthorized changes. A role name in a selector is not authorization.
3. Persist only the task's changed supported fields through the native writer. Return an actual readback and update the client cache from it; failed saves retain the draft.
4. Use existing WordPress/Woo/Kiwe invalidation hooks. Verify affected public caches and actual Bricks/DSA bindings without a global purge on every keystroke. Never infer success from the sample header changing.
5. Show confirmed connected uses or an actionable missing binding. Preserve explicit local overrides. Future usage counts require a real binding inventory; the preview's usage chips are illustrative.

The grouped native acceptance must cover changes from Kiwe and from the original WordPress controls, logo replacement/removal/fallback, favicon clearing, public readback after cache handling, SEO-plugin active/inactive behavior and role/stale/session failures. No blanket write-through to arbitrary theme text or generated HTML. Public schema must not include the private profile export.

Search engines consume public output, not the client's private dashboard JSON. Google documents [site-name structured data](https://developers.google.com/search/docs/appearance/site-names) and [organization information](https://developers.google.com/search/docs/appearance/structured-data/organization) as ways to help interpret a website's identity. Search display can lag behind a site edit because recrawling/processing takes time. A local completeness score is not a ranking guarantee. SEO replacement must separately verify existing Rank Math ownership/migration; this preview does not replace it.

## Local implementation and verification

The approved React Home is retained. `Your website` now has all eight group entry points plus six existing daily destinations. Identity provides name, tagline, website type, industry, main logo, adjacent dark-logo control, site icon, local preview and draft protection. Saving updates the sample business header, visitor light/dark logo and local browser favicon. PNG/JPEG/WebP selection is local and bounded to 2 MB, with a square-icon check and visible invalid-file feedback. Other context groups explicitly show mapped controls and **editing not yet connected**. No sample uploads leave browser memory; reload resets all data.

The final grouped browser pass passed **23 checks**, including deferred context loading, mapped group/task coverage, local asset controls/bindings, section draft retention, unsaved-navigation protection, role demonstration, invalid-file feedback, no horizontal overflow at 820/390/360 px, no external requests and no JavaScript exceptions. Desktop/phone identity and visitor screenshots were captured for visual review. The first screenshots revealed an overlapping sticky Save bar; Save now stays in normal form flow and the affected pass was rerun. A mistaken expected test count was corrected from 24 to the actual 23; no assertion was removed or weakened.

Evidence lives under `work/context-workspace-evidence/`: `browser.json`, `native-control-inventory.json`, local build output and screenshots. These prove sample interactions and layout, not native data writes, a full accessibility audit, real devices, PHP performance, provider delivery or traffic capacity. The earlier 15-check Home pass remains dated evidence. No unchanged runtime baseline was rerun for these local design-tooling edits. Documentation links and diff formatting are checked with the final handoff.

## Continuation and deployment

Keep the [accepted shell architecture](C:/Users/shariq/Documents/Kiwe-Ecosystem/kiwe/docs/decisions/2026-09-10-tile-workspace-shell.md): same-origin compiled React, WordPress sessions/native records, Bricks public rendering, shared small DSA primitives and no client application bytes on ordinary public pages. No production Node server is required.

The next runtime batch is a server-gated shell with capability-derived tasks, the confirmed Woo custom-owner/client commerce compatibility fixes, and Identity as the first complete native task. Confirm native writer semantics before migration, including the icon-clear gap above. Then migrate daily tasks in coherent groups; do not keep extending a disconnected prototype indefinitely. Native editor semantics and actual role journeys remain launch gates. [Lab ownership evidence and defects](C:/Users/shariq/Documents/Codex/2026-09-05/im/outputs/CLIENT-LAB-SETUP-2026-09-10.md) remain open where stated.

Canonical branch is `main`, baseline HEAD `731a94ff48dd350bb7b168ec285fcc96afbdaa01`. This unit changes prototype tooling and documentation only; unrelated accumulated runtime edits remain intact. No commit, push, signing or deployment. Local/lab RC82 and Ascendants RC55.4 are unchanged. There are no new data migrations, capabilities, credentials or native recovery steps; stop the loopback preview to end the sample. Existing production reliability/identity/provider gates still apply.

Machine contract · Markdown start · GitHub mirror · All commands