Skip to content

feat: Add research block to person entity schema#210

Open
isaacschepp wants to merge 79 commits intomainfrom
feat/research-block-schema
Open

feat: Add research block to person entity schema#210
isaacschepp wants to merge 79 commits intomainfrom
feat/research-block-schema

Conversation

@isaacschepp
Copy link
Copy Markdown
Collaborator

Summary

Add a research block to the person entity for tracking open questions like unknown parents or unconfirmed identity. This enables multi-session brickwall research without repeating searches.

Changes

  • JSON schema (person.schema.json) — add research property with structured lead tracking
  • Go types (types.go) — add Research, ResearchTopic, and ResearchLead types to Person
  • Spec docs (person.md) — document the research block with examples and confidence levels
  • Tests — schema validation test and Go deserialization test

Research block structure

research:
  parents:
    status: "open"              # open, closed, blocked
    summary: "Parents unknown."
    leads:
      - description: "Candidate family"
        confidence: medium-high  # eliminated → confirmed
        next_steps: ["Browse census images"]
    completed_research:
      - "Pension file reviewed — no parents named"

Real-world motivation

During active Mary Green brickwall research, glx validate rejected the research block:

persons.person-mary-lane: Additional property research is not allowed

The research block stores leads, eliminated hypotheses, and null results that prevent duplicate searches across sessions.

Fixes #137

Test plan

  • TestRunValidate_PersonWithResearchBlock — person with research block passes validation
  • TestResearchBlockDeserialization — Go struct correctly deserializes all research fields
  • Full test suite passes (0 failures)

Add a research block to the person entity for tracking open questions
like unknown parents or unconfirmed identity. Each research topic has
a status, summary, leads with confidence levels, and completed
searches (including null results). This enables multi-session
brickwall research without repeating searches.

Updates JSON schema, Go types, spec documentation, and tests.

Fixes #137
Copilot AI review requested due to automatic review settings March 28, 2026 04:06
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented Mar 28, 2026

Deploying genealogix with  Cloudflare Pages  Cloudflare Pages

Latest commit: 1b38a8b
Status: ✅  Deploy successful!
Preview URL: https://fdfbeaf4.genealogix.pages.dev
Branch Preview URL: https://feat-research-block-schema.genealogix.pages.dev

View logs

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds first-class support for a research block on Person entities across the specification, Go library types, and CLI validation tests, enabling archives to store ongoing “brickwall” research notes/leads without failing schema validation.

Changes:

  • Extend the Person JSON schema to allow a structured research map keyed by topic.
  • Add ResearchTopic / ResearchLead fields to go-glx Person types for YAML deserialization.
  • Document the research block in the Person spec and add CLI + deserialization tests.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
specification/schema/v1/person.schema.json Adds the research property and nested topic/lead structure to the Person schema.
specification/4-entity-types/person.md Documents the new research block with example structure and confidence levels.
go-glx/types.go Introduces ResearchTopic/ResearchLead types and wires them into Person.
glx/testdata/valid/person-with-research.glx Adds a representative valid archive snippet using the research block.
glx/research_test.go Verifies Go YAML deserialization of the research block into go-glx types.
glx/cmd_validate_test.go Ensures glx validate accepts persons containing a research block (regression for #137).
CHANGELOG.md Notes the new spec capability in the current “Added / Specification” section.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings March 28, 2026 04:13
@isaacschepp isaacschepp review requested due to automatic review settings March 28, 2026 04:13
Copilot AI review requested due to automatic review settings March 28, 2026 16:19
@isaacschepp isaacschepp review requested due to automatic review settings March 28, 2026 16:19
Copilot AI review requested due to automatic review settings March 28, 2026 16:22
@isaacschepp isaacschepp review requested due to automatic review settings March 28, 2026 16:23
Copilot AI review requested due to automatic review settings March 28, 2026 16:31
@isaacschepp isaacschepp review requested due to automatic review settings March 28, 2026 16:31
Copilot AI review requested due to automatic review settings March 28, 2026 16:35
@isaacschepp isaacschepp review requested due to automatic review settings March 28, 2026 16:35
Copilot AI review requested due to automatic review settings March 28, 2026 16:38
@isaacschepp isaacschepp review requested due to automatic review settings March 28, 2026 16:38
Copilot AI review requested due to automatic review settings March 28, 2026 16:56
@isaacschepp isaacschepp review requested due to automatic review settings March 28, 2026 16:56
Copilot AI review requested due to automatic review settings March 28, 2026 17:19
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

spec Specification and entity type changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add research block to person entity schema

3 participants