Extend organization model with distinct social collectives
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a070b5-4994-7271-bd8b-7c3dbcedec4b
This commit is contained in:
tegwick 2026-09-05 22:31:15 +02:00
parent 361c944325
commit 3e69bd51b0
13 changed files with 202 additions and 5 deletions

View file

@ -12,6 +12,7 @@
| workplan | INFO-WP-0019 | blocked | — | workplans/INFO-WP-0019-conformance-and-maintenance.md |
| workplan | INFO-WP-0020 | finished | — | workplans/INFO-WP-0020-shared-evidence-model.md |
| workplan | INFO-WP-0021 | finished | — | workplans/INFO-WP-0021-identity-model.md |
| workplan | INFO-WP-0022 | finished | — | workplans/INFO-WP-0022-social-collectives.md |
| workplan | ITC-WP-0001 | finished | — | workplans/ITC-WP-0001-infospace-scaffold-and-seed-placement.md |
| workplan | ITC-WP-0002 | finished | — | workplans/ITC-WP-0002-service-surface-cli-json-api.md |
| workplan | ITC-WP-0003 | finished | — | workplans/ITC-WP-0003-validation-indexes-and-generated-views.md |
@ -45,6 +46,9 @@
| task | INFO-WP-0021-T01 | done | — | workplans/INFO-WP-0021-identity-model.md |
| task | INFO-WP-0021-T02 | done | — | workplans/INFO-WP-0021-identity-model.md |
| task | INFO-WP-0021-T03 | done | — | workplans/INFO-WP-0021-identity-model.md |
| task | INFO-WP-0022-T01 | done | — | workplans/INFO-WP-0022-social-collectives.md |
| task | INFO-WP-0022-T02 | done | — | workplans/INFO-WP-0022-social-collectives.md |
| task | INFO-WP-0022-T03 | done | — | workplans/INFO-WP-0022-social-collectives.md |
| task | ITC-WP-0001-T01 | done | — | workplans/ITC-WP-0001-infospace-scaffold-and-seed-placement.md |
| task | ITC-WP-0001-T02 | done | — | workplans/ITC-WP-0001-infospace-scaffold-and-seed-placement.md |
| task | ITC-WP-0001-T03 | done | — | workplans/ITC-WP-0001-infospace-scaffold-and-seed-placement.md |

View file

@ -1,7 +1,7 @@
repository: info-tech-canon
title: InfoTechCanon
status: service-baseline
version: 0.9.0
version: 0.10.0
description: >
An evolving, markdown-first canon for building interoperable, adaptable,
and extensible information-processing systems.

View file

@ -25,6 +25,8 @@ Imports and anchors:
## Owned Concepts
- `Community`
- `Household`
- `InfoTechCanon Organization Model`
## Related Distinctions

View file

@ -1619,6 +1619,8 @@
],
"kind": "model",
"owned_concepts": [
"Community",
"Household",
"InfoTechCanon Organization Model"
],
"relationships": [

View file

@ -465,7 +465,7 @@ Items: **78**
- Source path: `seeds/InfoTechCanonOrganizationModel_RC1_seed.md`
- Summary: Domain model used by canon profiles and standards: InfoTechCanon Organization Model.
- Imports and anchors: `kernel/itc-core`, `model/evidence`, `model/identity`
- Owned concepts: `InfoTechCanon Organization Model`
- Owned concepts: `Community`, `Household`, `InfoTechCanon Organization Model`
### InfoTechCanon Purpose And Demand Model Extension

View file

@ -1028,6 +1028,8 @@ items:
summary: 'Domain model used by canon profiles and standards: InfoTechCanon Organization
Model.'
owned_concepts:
- Community
- Household
- InfoTechCanon Organization Model
imports:
- kernel/itc-core

View file

@ -1,4 +1,4 @@
concept_count: 158
concept_count: 160
concepts:
- concept: "Assimilation \u2014 EmissionCadenceDeclaration handover"
owner: assimilation/emission-cadence
@ -340,6 +340,14 @@ concepts:
owner: model/organization
path: models/organization/InfoTechCanonOrganizationModel.md
source: artifact_title
- concept: Community
owner: model/organization
path: models/organization/InfoTechCanonOrganizationModel.md
source: frontmatter.owned_concepts
- concept: Household
owner: model/organization
path: models/organization/InfoTechCanonOrganizationModel.md
source: frontmatter.owned_concepts
- concept: InfoTechCanon Purpose And Demand Model Extension
owner: model/purpose-demand-extension
path: models/governance/InfoTechCanonPurposeDemandExtension.md

View file

@ -294,6 +294,8 @@ Network owns communication and reachability. Observability owns signals and runt
|---|---|
| Person | Organization |
| Agent as organizational actor | Organization |
| Community | Organization; CollectiveActor subtype |
| Household | Organization; CollectiveActor subtype, distinct from Family |
| Team | Organization |
| Organization | Organization |
| OrganizationalUnit | Organization |

View file

@ -1,9 +1,28 @@
---
id: itc-org:OrganizationModel
title: InfoTechCanon Organization Model
namespace: itc-org
status: RC1-seed
version: RC1-seed
# Incremental machine-readable ownership for the social extension; existing
# organization concepts retain their definitions and ownership declarations below.
owned_concepts:
- Community
- Household
social_collectives_extension:
status: draft
version: 0.1.0
authority: CUST-ADR-006 R6
workplan: INFO-WP-0022
---
# InfoTechCanon Organization Model
**Short Name:** `ITC-ORG`
**Document Status:** Seed Standard Release Candidate 1
**Version:** RC1-seed
**Date:** 2026-05-22
**Social collectives extension:** Draft 0.1.0, 2026-09-05 (CUST-ADR-006 R6).
**Repository Context:** `info-tech-canon`
**Document Type:** InfoTechCanon Domain Standard
**Intended Audience:** Organization designers, enterprise architects, platform builders, governance designers, product owners, service owners, HR/people-ops modelers, project/program managers, security architects, knowledge-system builders, standards authors, and agentic tooling.
@ -14,6 +33,12 @@
The **InfoTechCanon Organization Model** defines a canonical seed model for representing organizations, organizational units, actors, memberships, roles, authority, responsibility, accountability, teams, operating structures, collaboration structures, and organizational viability patterns.
This model deliberately extends beyond enterprise structures into social
collectives: Community and Household are distinct CollectiveActor subtypes.
Shared participation or domestic life does not imply corporate structure,
legal authority, kinship, or an access-control grant. Family remains a separate
concept area under CFED-WP-0001-T13 and is not a CollectiveActor subtype here.
It exists to support the broader **InfoTechCanon** goal of building interoperable information-processing systems without forcing rigid organizational assumptions into every subsystem.
This standard provides:
@ -172,6 +197,7 @@ A seed standard shall:
This standard covers canonical representation of:
- organizations,
- communities and households as distinct social collective actors,
- organizational units,
- teams,
- groups,
@ -204,6 +230,7 @@ This standard covers canonical representation of:
This standard does not fully define:
- legal corporate structures in jurisdiction-specific detail,
- family/kinship modeling, guardianship determinations, or household legal-status rules,
- employment law,
- compensation and payroll,
- full HR management,
@ -361,13 +388,14 @@ OrganizationEntity
│ ├── HumanActor
│ ├── NonHumanActor
│ └── CollectiveActor
│ ├── Community
│ └── Household
├── StructureEntity
│ ├── Organization
│ ├── OrganizationalUnit
│ ├── Team
│ ├── Group
│ ├── Committee
│ ├── Community
│ ├── Network
│ └── Collaboration
├── RoleEntity
@ -528,11 +556,72 @@ committee
organization
external supplier
community
household
working group
```
---
## 10.5a Community
A **Community** is a CollectiveActor formed around participation, affiliation,
shared interest, identity, or social interaction, with a recognizable collective
context. It can be informal, distributed, temporary, online or place-based.
Representation and responsibility arrangements must be recorded when relevant;
common interest alone does not imply shared authority or consent.
Examples: a neighborhood participation community or an online mutual-learning
community. A mailing-list Group may support a Community, and a Team may carry
out work for it; neither the list nor the team is automatically the community.
Record its participation basis, scope, membership arrangements and relevant
roles without inferring every participant's beliefs or sensitive attributes.
Imported identity relationships can express affiliation/following without
asserting Membership. A Community is not automatically an Organization with
corporate or administrative structure.
## 10.5b Household
A **Household** is a CollectiveActor organized around shared domestic living
arrangements and the coordination of household affairs. Record the applicable
context and time period; membership and arrangements can change.
Shared domestic arrangements may include residence, day-to-day resources or
household responsibilities. A shared address alone is insufficient to infer one
Household: unrelated households can share premises, and an arrangement may span
locations. Model the actual asserted arrangement and its provenance rather than
using an address as an identity key.
A Household is not a Family. People who are not kin can share a Household, and
family relationships can extend across households. Do not infer parenthood,
guardianship, dependency or authority from household Membership. Those structures
belong to the separately seeded Family area; no Family model is authored here.
Household is also not a Tenant (an imported identity isolation/administrative
scope), Customer (a commercial role), Team (shared work) or Group (a collection
of actors). A consumer's account or billing grouping can refer to a household
without defining household membership or determining legal status.
## 10.5c Social collective boundary cases (P4)
| Case | Representation |
| --- | --- |
| An online community has a moderator team and a mailing list | Distinct Community, Team and Group linked by explicit relationships. |
| Two unrelated people coordinate a shared home | A Household can exist without a Family assertion. |
| Relatives live in separate domestic arrangements | Do not collapse their households into one based on kinship. |
| Multiple independent domestic units share an address | Address equality alone does not establish Household identity. |
| A household uses one application tenant | Household and imported Tenant remain separate. |
| Someone joins a community group | Group membership alone does not imply authority over the Community. |
| A household member is an adult | Membership and age do not infer guardianship or permission to act for others. |
These are semantic representation cases, not statutory household eligibility or
family-law determinations. Collect only the information needed for a stated
consumer purpose, preserve relevant provenance, and avoid inferred sensitive
relationships. Community, Household, Team and Group remain distinct under donor
P4, adapted by accepted ADR-006 R6. T07 owns the donor corpus disposition.
---
## 10.6 Organization
An **Organization** is a structured collective actor with identity, purpose, boundaries, and some capacity for coordinated action.

View file

@ -2,7 +2,7 @@
# By Concept
Concept count: **158**
Concept count: **160**
| Concept | Owner | Source |
| --- | --- | --- |
@ -91,6 +91,8 @@ Concept count: **158**
| InfoTechCanon Network Model | `model/network` | `artifact_title` |
| InfoTechCanon Observability Model | `model/observability` | `artifact_title` |
| InfoTechCanon Organization Model | `model/organization` | `artifact_title` |
| Community | `model/organization` | `frontmatter.owned_concepts` |
| Household | `model/organization` | `frontmatter.owned_concepts` |
| InfoTechCanon Purpose And Demand Model Extension | `model/purpose-demand-extension` | `artifact_title` |
| Purpose | `model/purpose-demand-extension` | `frontmatter.owned_concepts` |
| ConsumerPurpose | `model/purpose-demand-extension` | `frontmatter.owned_concepts` |

View file

@ -0,0 +1,15 @@
from info_tech_canon.generation import concept_ownership
from info_tech_canon.service import load_context
def test_social_collectives_have_one_owner_and_family_is_not_a_subtype():
context = load_context()
rows = concept_ownership(context)["concepts"]
for concept in ["Community", "Household"]:
assert {r["owner"] for r in rows if r["concept"] == concept} == {"model/organization"}
text = (context.infospace_root / "models/organization/InfoTechCanonOrganizationModel.md").read_text()
taxonomy = text.split("# 9. Root Organization Taxonomy", 1)[1].split("# 10.", 1)[0]
assert "CollectiveActor\n│ ├── Community\n│ └── Household" in taxonomy
assert taxonomy.count("Community") == 1
assert "Family" not in taxonomy
assert "A Household is not a Family" in text

View file

@ -0,0 +1,63 @@
---
id: INFO-WP-0022
type: workplan
title: "Organization social collectives extension"
domain: infotech
repo: info-tech-canon
status: finished
owner: codex
topic_slug: canon
created: "2026-09-05"
updated: "2026-09-05"
state_hub_workstream_id: "452a4239-f13e-58fa-acc8-f083fd7178f4"
---
# Organization social collectives extension
Implements CFED-WP-0001-T12 under accepted ADR-006 R6. Broaden itc-org explicitly
from enterprise structures to Community and Household social collectives.
## Define distinct social collective actors
```task
id: INFO-WP-0022-T01
status: done
priority: medium
state_hub_task_id: "c6e55f93-e60c-57fc-b196-e46d05252fd8"
```
Define Community/Household under CollectiveActor with explicit scope and P4
boundaries against Team, Group, Tenant and Family. Preserve numbered anchors.
## Verify ownership and retrieval
```task
id: INFO-WP-0022-T02
status: done
priority: medium
state_hub_task_id: "d9eb233a-f98f-5931-bcd2-a093f1cdb4d8"
```
Add incremental machine-readable ownership for the two new definitions and kernel
map entries. Refresh generated retrieval surfaces; check ownership, hierarchy,
source preservation and existing repository tests.
## Record completion and live continuation
```task
id: INFO-WP-0022-T03
status: done
priority: medium
state_hub_task_id: "a394be91-8c7b-5b36-b05e-edcc827d8d58"
```
Record project evidence and synchronize work records. CFED T13 remains the live
Family seed task; T07/T08 own corpus distribution and interface cards. No Family
model, consumer adoption or stable social-extension promotion is claimed.
## Verification — 2026-09-05
make check passes: 46 tests, generated consistency, canon and small-saas profile
validation. One owner each for Community/Household; Family excluded from the
collective taxonomy. All 37 protected seed/pre-existing plan files unchanged.
See [project evidence](../../prj-canon-federation/docs/evidence/2026-09-05-social-collectives.md).

View file

@ -16,6 +16,14 @@ implementation_decisions:
consumer_workplans_live_in_consumer_repos: true
workplans:
- id: INFO-WP-0022
title: Organization social collectives extension
status: finished
priority: medium
path: workplans/INFO-WP-0022-social-collectives.md
depends_on: []
produces: [Community, Household]
- id: INFO-WP-0021
title: Identity model and upstream ownership reconciliation
status: finished