Skip to content

Import actions from hasna/actions (history preserved) - #10

Merged
andrei-hasna merged 24 commits into
mainfrom
import/actions
Aug 13, 2026
Merged

Import actions from hasna/actions (history preserved)#10
andrei-hasna merged 24 commits into
mainfrom
import/actions

Conversation

@andrei-hasna

@andrei-hasna andrei-hasna commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Import actions from hasna/actions (history-preserving, merge-commit)

Task: ee9fbb4d (wave 1 batch B). Mechanism: import-mechanics-codex.md (approved; reviewers A+B GO). Import via disposable mirror → git-filter-repo --to-subdirectory-filter apps/actions --preserve-commit-hashes --preserve-commit-encoding → same-tree history capsule → one merge-commit PR (merge-commit strategy required — squash/rebase breaks imported-history reachability). No publishes, no repo-settings changes, no deletions.

Evidence

PR freeze (checklist 6): 0 open PRs on hasna/actions at import time.

Ref inventory (checklist 1): heads=5, tags=1 (annotated). refs/pull/* present in the mirror; pull-only commits dropped per mechanism P3 (accepted, recorded). Peel skipped list: none (all 6 refs resolved via rev-parse ^{commit}).

Capsule: f38c58a, parents=5 (rewritten main + 4 branch/tag tips; annotated tag v0.1.5 peeled to the feature/first-action-layer tip — deduped). PARENT_SET_EQUAL GAPS=0 (checklist 3).

Tree/blob gate (checklist 4): rewritten main tree 333d640c == mono subtree tree (git diff --exit-code rc=0). Blob-set: 46/46 identical. 0 gitlink (160000) entries (negative submodule control). Provenance: rewritten main d159e67 is an ancestor of the import head (DAG_REACHABLE); 38 rewritten commits reachable; git fsck --connectivity-only rc=0 (dangling trees only).

In-mono absorption gate (checklist 2): bun install rc=0 · bun run check rc=0 (secrets scan 0 findings / 6,012 added lines; 68+35 tests pass) · turbo build --affected rc=0 · test --affected rc=0 · lint --affected rc=0.

Absorption fixes (in this PR, smallest per P1b): none required for build/test/lint. Only hygiene: removed a trailing blank line at EOF from 8 files (.gitignore, examples/dispatch-workflow.ts, examples/local-shell.manifest.json, src/executors/local-shell.test.ts, src/executors/typescript.ts, src/sdk/index.ts, tsconfig.build.json, tsconfig.json) to satisfy git diff --cached --check (pre-existing blank-line-at-EOF from the old repo; content otherwise untouched). Root bun.lock updated by bun install (member registration).

Hygiene (checklist 5): no .gitattributes LFS rules, no .gitmodules, staged secrets scan 0 findings, git diff --cached --check clean.

Tag→commit manifest (checklist 8): /tmp/opencode/wave1b/actions/tag-commit-manifest.md (1 annotated tag → peeled+deduped; capsule parents; GAPS=0).

Landing requirement

Merge with GitHub's merge-commit strategy only (mechanism doc; squash or rebase breaks reachability of the imported history).


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

andrei-hasna and others added 24 commits June 23, 2026 07:40
…-479e-909e-d126df1d0e63-cd6b7973

Define ActionManifest package contract
…eployed code

Reconciles main (0.1.0, PR#2 alternate contract design) to the published
@hasna/actions@0.1.5 line (feature/first-action-layer, verified byte-identical
to the npm tarball). Conflicts resolved in favor of the published/deployed code.
Kept additive docs (CONTRIBUTING.md, SECURITY.md). Removed the incompatible
alternate contract design (manifest.ts and its tests, mcp/capabilities.ts) from
the tree; those commits remain in history via this no-ff merge (no commits lost).
Reconciliation release. main now equals the deployed @hasna/actions@0.1.5 code
plus main-only docs; version bumped 0.1.5 -> 0.1.6 (package.json + src/version.ts
kept in sync) so the next publish sits above npm latest. Adds CHANGELOG.md.
Reconcile main to published npm line (0.1.5 → 0.1.6)
Ensure this repo LICENSE file is the COMPLETE canonical Apache License 2.0 text, byte-compatible with https://www.apache.org/licenses/LICENSE-2.0.txt (~202 lines, sections 1-9 plus APPENDIX, canonical line wrapping). Some repos here ship only the ~17-line Apache boilerplate NOTICE (a real licensing gap — Apache-2.0 section 4(a) requires shipping a copy of the License itself); others ship the full text REFLOWED so GitHub cannot detect it. Both are fixed by writing the canonical text.
COPYRIGHT: if the CURRENT LICENSE has a specific copyright line (e.g. "Copyright 2026 Hasna, Inc."), carry it verbatim into the APPENDIX placeholders. If it has none, leave the canonical placeholders exactly as apache.org ships them — do NOT invent a year or entity.
Change no other file, except a README line explicitly claiming a different license (correct to Apache-2.0), and package.json "license" if relicensing from MIT.
VERIFY: LICENSE contains "TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION" and "APPENDIX: How to apply the Apache License to your work", exceeds 150 lines.

X-Factory-Run: run_e6159de17df1
…ck (#9)

Co-authored-by: Andrei Hasna <andrei@hasna.com>
…in (#10)

Co-authored-by: Andrei <andrei@hasna.com>
@andrei-hasna
andrei-hasna merged commit 0e3090d into main Aug 13, 2026
4 checks passed
andrei-hasna added a commit that referenced this pull request Aug 17, 2026
Merge delta import: router from hasna/router (hasna.contract.json #9, gateway README #10). CI green at head 848f335; all gates pass.

Agent: aemilianus
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