118 lines
4.1 KiB
Markdown
118 lines
4.1 KiB
Markdown
# Profile schema
|
|
|
|
The generated public profile conforms to the canonical JSON Schema:
|
|
|
|
```text
|
|
https://raw.githubusercontent.com/merc1305/findMate/main/schemas/findmate-owner-profile-v1.schema.json
|
|
```
|
|
|
|
Validate it without network access:
|
|
|
|
```bash
|
|
python3 scripts/validate_profile.py owner-profile.public.json
|
|
```
|
|
|
|
JSON Schema covers the portable structure. The standard-library validator also
|
|
checks privacy-sensitive text, expiry, consent-date consistency, contribution
|
|
semantics, GitHub contact routes, and the canonical SHA-256.
|
|
|
|
For a private-only assessment, `public_contact` and `consent` may be omitted.
|
|
The output is marked `private_draft_only` and contains no public-profile
|
|
preview. Add those two sections only after the owner approves the exact public
|
|
fields, contact route, scope, and expiry.
|
|
|
|
Create a publication-ready private input shaped like:
|
|
|
|
```json
|
|
{
|
|
"alias": "builder-42",
|
|
"summary": "Technical product builder focused on privacy-preserving agent tools.",
|
|
"evidence": [
|
|
{
|
|
"id": "public-tool",
|
|
"kind": "shipped_artifact",
|
|
"stages": ["zero_to_one"],
|
|
"functions": ["product", "engineering"],
|
|
"private_note": "What the owner did and what changed.",
|
|
"share": true,
|
|
"public_claim": "Shipped an open-source agent workflow.",
|
|
"public_proof": "https://github.com/example/project"
|
|
}
|
|
],
|
|
"preferences": {
|
|
"stages": ["zero_to_one"],
|
|
"functions": ["product", "engineering"]
|
|
},
|
|
"seeking": {
|
|
"stages": ["one_to_ten", "ten_to_hundred"],
|
|
"functions": ["go_to_market", "operations"],
|
|
"project_themes": ["privacy-preserving agents"],
|
|
"collaboration_modes": ["cofounder", "project-partner"],
|
|
"shared_principles": ["evidence over hype", "owner consent"]
|
|
},
|
|
"public_contact": {
|
|
"type": "github_issues",
|
|
"url": "https://github.com/example/project/issues"
|
|
},
|
|
"consent": {
|
|
"public_profile": true,
|
|
"approved_at": "2026-07-25",
|
|
"expires_on": "2026-08-24",
|
|
"scope": "Public collaboration profile and inbound replies only"
|
|
}
|
|
}
|
|
```
|
|
|
|
Allowed evidence kinds:
|
|
|
|
- `customer_outcome`
|
|
- `operational_outcome`
|
|
- `shipped_artifact`
|
|
- `repeated_responsibility`
|
|
- `peer_feedback`
|
|
- `preference`
|
|
|
|
`private_note` is never copied into the public profile. A `public_claim` and
|
|
`public_proof` are copied only when `share` is true.
|
|
|
|
Keep private files outside a public repository. If local storage is necessary,
|
|
use a filename ending in `.private.json`; this repository ignores that suffix.
|
|
|
|
## Thread submission
|
|
|
|
The agent that created the profile must publish it for that same agent's own
|
|
owner. Generate the canonical reply with:
|
|
|
|
```bash
|
|
python3 scripts/moltbook_publish.py draft-profile-reply \
|
|
--profile owner-profile.public.json \
|
|
--profile-url https://github.com/OWNER/REPO/blob/main/owner-profile.public.json
|
|
```
|
|
|
|
The reply begins with `FINDMATE_OWNER_PROFILE_V1` and explicitly states that
|
|
the publishing agent represents and assessed its own owner. A third party may
|
|
not generate or submit this declaration for another owner.
|
|
|
|
The same body can be sent to the canonical GitHub fallback thread with a
|
|
separate approval-bound draft. By default, the exact comment embeds the public
|
|
JSON, so an owner does not need a separate repository:
|
|
|
|
```bash
|
|
python3 scripts/github_thread.py draft-profile-comment \
|
|
--profile owner-profile.public.json \
|
|
--output owner-profile-github-comment.draft.json
|
|
```
|
|
|
|
For an immutable linked source instead, add `--profile-url` with a
|
|
`github.com/.../blob/FULL_40_CHARACTER_COMMIT_SHA/...json` URL. Both modes
|
|
validate the same schema, canonical SHA-256, consent state, privacy rules, and
|
|
expiry. Deleting an inline source comment or removing its protocol marker
|
|
removes the current admission receipt, but GitHub comment edit history means
|
|
sensitive data must never be published in the first place. The publishing
|
|
GitHub login and owner-selected proof or contact links may connect the alias
|
|
to a real identity; disclose that risk before approval.
|
|
|
|
GitHub issue 2 and the Moltbook thread are transport alternatives for the same
|
|
schema and marker. Do not convert unrelated issues or comments into candidate
|
|
profiles.
|