Skip to content

fix: open-source readiness — restore broken stub files, docs excellence, L1 suite - #17

Merged
omar-nahhas merged 1 commit into
mainfrom
fix/oss-readiness
Jul 29, 2026
Merged

omar-nahhas merged 1 commit into
mainfrom
fix/oss-readiness

Conversation

@omar-nahhas

Copy link
Copy Markdown
Contributor

What

Gap-fills the repo to open-source-ready state (audit-driven; repo pre-existed).

Critical fix

LICENSE, README.md, pyproject.toml and .gitignore literally contained unexpanded "§§include(/a0/src/...)" marker text since the initial commit — a prior automation committed placeholders instead of content (also an internal-path leak). All four restored with real content; LICENSE is the full canonical Apache-2.0 text (11.4 KB, REQ-LIC-001).

Docs excellence

  • README: value-prop, REAL Playwright-captured screenshots (docs/), mermaid architecture diagram, honest access model, Plugin Hub + manual install, config reference, dev/test guide
  • SECURITY.md: honest share-link threat model — ctxid entropy (identifier, not a secret), exposure surface = instance exposure, clipboard surface, URL metadata leaks + design mitigations
  • CONTRIBUTING.md, YAML issue forms, dependabot (github-actions + gitsubmodule)
  • docs/marketplace-draft.md: staged index.yaml (title/desc <500ch/tags/screenshot raw URLs w/ 404-until-public note) + flip-time checklist

Tests

  • NEW L1 testkit shape suite (tests/component): 9 assertions — stray-extension-folders, chat-top-end surface wiring, dead hooks, thumbnail, static validator, deps audit, A0-API audit, plugin↔meta version sync, Apache-2.0 license guard. 9/9 green locally in 0.04s.
  • pyproject pytest config excludes testkit self-tests (norecursedirs) per sibling-repo learnings.
  • Removed stale tests/e2e/behaviour.mjs (retired by the BDD harness).

Assets

  • Real 256×256 share-glyph thumbnail, 3.3 KB (<20 KB) — replaces 79-byte stub.

Audit trail (Phase 1)

Full git-history scan: no secrets, no real share tokens/ctxids, no instance URLs, no personal data beyond the intentional public author email. share_chat composes links client-side only — no tokens by design.

…ce, L1 suite

- LICENSE/README/pyproject/.gitignore contained literal unexpanded
  '§§include(...)' markers since the initial commit — restored with real
  content (LICENSE = full canonical Apache-2.0, 11.4KB; REQ-LIC-001)
- README: value-prop, real Playwright-captured screenshots, mermaid
  architecture diagram, honest access model, install + dev/test guide
- SECURITY.md: honest share-link threat model (ctxid entropy, exposure
  surface, clipboard, metadata leaks) + design mitigations
- CONTRIBUTING.md, issue templates (bug/feature YAML forms), dependabot
  (github-actions + gitsubmodule)
- Real 256x256 thumbnail (3.3KB, was a 79-byte stub)
- L1 testkit shape suite: 9 component tests incl. surface wiring,
  static validator, version-sync, Apache-2.0 license guard
- docs/marketplace-draft.md: staged index.yaml + flip-time checklist
- Removed stale tests/e2e/behaviour.mjs (BDD harness retired it)
@omar-nahhas
omar-nahhas merged commit a42220a into main Jul 29, 2026
2 checks passed
@omar-nahhas
omar-nahhas deleted the fix/oss-readiness branch July 29, 2026 11:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant