WIP: Add ELFA Forms builder and verified submissions #71
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "codex/elfa-forms"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Add ELFA Forms in
apps/elfa-forms/, composing the Tables workspace with a form-builder view. Adapt table schemas to the pinned, unchanged MIT AtomicServer form renderer. Persist definitions in NextGraph discrete documents and submit responses through the native RDF ORM with persistence verification and deduplicated retries.All changes in this PR are confined to
apps/elfa-forms/, including registration, upstream attribution, documentation and tests. Stacks on Tables; independent of the Project PR.Validation: Forms production build, fixture browser workflow, mapping/validation tests and the real offline NextGraph form persistence/retry test pass. Combined split: all 374 unit/integration tests and delivery/runtime/Atomic/Joep typechecks pass. The builder currently edits existing fields; full schema evolution, public/anonymous access and native multi-user/offline/restart scenarios remain open. Stale-save detection is not distributed compare-and-swap. Draft implementation, not completed WP6 delivery.
Split review structure
experimental/, partial README rewrite and runner/test infrastructure.apps/elfa-tables/only; targets #69.apps/elfa-forms/only; targets #70.apps/elfa-project/only; targets #70.Merge #69, then #70, then #71 and #72 in either order; retarget each dependent PR to main once its base is merged. Together these replace #67.
Document inbox investigation
The intended Forms submission transport is NextGraph document inboxes, rather than granting respondents write access to the owner table. Added
apps/elfa-forms/DOCUMENT_INBOX.mdwith official documentation, a proposed response-document/link workflow, pinned upstream source evidence and two-wallet PoC acceptance criteria.A real native verifier probe on
@ng-org/lib-wasm0.1.2-alpha.7 rejects the app-protocolInboxPostcommand withNotImplemented. Current upstream ELFA NextGraph main also lacks generic InboxPost dispatch and link receive handling; document inbox metadata is unset. Broker inbox infrastructure exists for contacts/social queries. This is a verified capability boundary, not a successful end-to-end form submission PoC. The initial direct ORM submission remains explicitly documented as a different prototype.All five app-local native/unit tests pass, including the new capability probe. End-to-end inbox delivery needs agreed upstream SDK/verifier support first.
Building the Forms app with the intended submission architecture is blocked on NextGraph document inbox functionality.
The proposed flow is for a respondent to create their own answer document and send its read capability to the form document’s inbox, then let the owner validate and accept it into the response table without granting respondents table-write access. The current direct ORM submission prototype does not implement that flow.
We checked the latest published NextGraph SDK packages and current upstream source. The native capability probe in this branch confirms that
InboxPostreturnsNotImplementedin the pinned/latest@ng-org/lib-wasm0.1.2-alpha.7. Document inbox discovery/provisioning, an app-facing send operation and generic submission receive handling are needed before an end-to-end PoC can be completed. Seeapps/elfa-forms/DOCUMENT_INBOX.mdfor the evidence and proposed acceptance criteria.Closing this PR unmerged as requested. The commits and
codex/elfa-formsbranch are preserved for continuation once document inbox support is available.Clarification following Niko’s guidance: we can work around the document inbox limitation for now by demoing the form owner filling in their own form.
The form and response table can live in the same NextGraph document, with the same user submitting entries to a table they also own. This lets us develop and demonstrate the frontend and underlying form-to-table mechanism using the existing direct write path, without document inbox support.
The blocker described above therefore applies to the intended cross-user inbox submission flow, not to this owner-only demo. Inbox functionality can be added later for privacy/security and multi-user use; the owner-only demo does not establish those properties.
This clarification leaves the PR closed and its unmerged commits preserved.
Pull request closed