alunduil / alunduil/projects-v2-sync

Design the declarative sync spec and JSON Schema

Open
#2 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
TypeScript
Stars
0
Forks
0
Avg merge
53m
Merged PRs (30d)
1

Description

## Summary

Define the per-board declarative spec the action consumes: sources
(in) and field mappings (out), with a JSON Schema. No field/option
IDs — resolved by name at runtime.

## Motivation

Ports the sync half of `github/projects/inbox.json`
(alunduil/alunduil-infrastructure) into a standalone, self-contained
spec. The schema half of that file (fields / options / colors) is NOT
included — it moves to Terraform (alunduil/alunduil-infrastructure#253).

## Scope

- Spec shape:
- `owner`, `title` — locate the target Projects v2 board.
- `sources[]` (the "in"): `owner` (logins whose repos are scanned),
`author`, `assignee`.
- field mappings (the "out"): which field records an item's source
(e.g. `filed_by_field`), which single-select field + option per
item type (PR vs issue).
- `exclude_archived`.
- JSON Schema validating the above; no `id` fields anywhere.
- Example spec reproducing the current Inbox behavior.

## Acceptance criteria

- [ ] Spec format documented with a JSON Schema.
- [ ] Example spec reproduces the current Inbox sources + field mapping.
- [ ] Schema rejects specs carrying field/option IDs.

## Additional context

- Depends on #1.
- Behavior source: `scripts/sync-project.sh` + `github/projects/inbox.json`
in alunduil/alunduil-infrastructure.
- alunduil/alunduil-infrastructure#187 (sort PRs into Review/Blocked by
actionability) is a future out-mapping the format should grow into.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.