WIP: Add ELFA Forms builder and verified submissions #71

Closed
michielbdejong wants to merge 4 commits from codex/elfa-forms into codex/elfa-tables

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

  • #69: preparatory move to experimental/, partial README rewrite and runner/test infrastructure.
  • #70: apps/elfa-tables/ only; targets #69.
  • #71: apps/elfa-forms/ only; targets #70.
  • #72: 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.md with 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-wasm 0.1.2-alpha.7 rejects the app-protocol InboxPost command with NotImplemented. 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.

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 - #69: preparatory move to `experimental/`, partial README rewrite and runner/test infrastructure. - #70: `apps/elfa-tables/` only; targets #69. - #71: `apps/elfa-forms/` only; targets #70. - #72: `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.md` with 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-wasm` 0.1.2-alpha.7 rejects the app-protocol `InboxPost` command with `NotImplemented`. 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.
Author
Owner

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 InboxPost returns NotImplemented in the pinned/latest @ng-org/lib-wasm 0.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. See apps/elfa-forms/DOCUMENT_INBOX.md for the evidence and proposed acceptance criteria.

Closing this PR unmerged as requested. The commits and codex/elfa-forms branch are preserved for continuation once document inbox support is available.

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 `InboxPost` returns `NotImplemented` in the pinned/latest `@ng-org/lib-wasm` 0.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. See `apps/elfa-forms/DOCUMENT_INBOX.md` for the evidence and proposed acceptance criteria. Closing this PR unmerged as requested. The commits and `codex/elfa-forms` branch are preserved for continuation once document inbox support is available.
michielbdejong closed this pull request 2026-10-28 13:18:36 +01:00
Author
Owner

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.

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

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ELFA/database-apps!71
No description provided.