<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hakurei/internal/pkg/ir.go, branch develop</title>
<subtitle>low-level userspace tooling for Rosa OS</subtitle>
<id>http://src.rosa.moe/hakurei/atom/internal/pkg/ir.go?h=develop</id>
<link rel='self' href='http://src.rosa.moe/hakurei/atom/internal/pkg/ir.go?h=develop'/>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/'/>
<updated>2026-08-29T09:58:06Z</updated>
<entry>
<title>pkg: move from internal</title>
<updated>2026-08-29T09:58:06Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-08-29T09:58:06Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=c2d900ec74e03e9c782cfe7b7ce06ff62cda6601'/>
<id>urn:sha1:c2d900ec74e03e9c782cfe7b7ce06ff62cda6601</id>
<content type='text'>
Closes #43.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/pkg: highlight miscellaneous verbose output</title>
<updated>2026-07-30T13:41:18Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-07-30T13:41:18Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=e73f9e0626d5ac3055feac76b0eb0dfa8f25dd4c'/>
<id>urn:sha1:e73f9e0626d5ac3055feac76b0eb0dfa8f25dd4c</id>
<content type='text'>
These were missed when adding highlight for core cache verbose output.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/pkg: implementation revisions</title>
<updated>2026-07-23T07:39:34Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-07-23T07:21:20Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=67dbb68818026f3d7a64e9519cf1aac36468b7c9'/>
<id>urn:sha1:67dbb68818026f3d7a64e9519cf1aac36468b7c9</id>
<content type='text'>
This enables changing the behaviour of an artifact implementation without changing its IR structure. Unfortunately this changes the IR header structure resulting in many rebuilds.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/pkg: optional shallow external cure</title>
<updated>2026-07-07T07:35:08Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-07-07T07:35:08Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=aa5d38981da1edf8f26ba175955f59b19fc3070f'/>
<id>urn:sha1:aa5d38981da1edf8f26ba175955f59b19fc3070f</id>
<content type='text'>
This saves time and is often more practical even for package maintainers.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/pkg: rename inputs method</title>
<updated>2026-07-02T14:21:31Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-07-02T13:59:40Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=dde69dde61e57fa929596294f6b4e8f798f5598e'/>
<id>urn:sha1:dde69dde61e57fa929596294f6b4e8f798f5598e</id>
<content type='text'>
Inputs is more correct than dependencies in the current terminology.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/pkg: streaming archive reader/writer</title>
<updated>2026-06-03T07:00:36Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-06-03T06:51:43Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=42cea1e7c6d1ea0658e6b4d2a1f12f98b9c0dd22'/>
<id>urn:sha1:42cea1e7c6d1ea0658e6b4d2a1f12f98b9c0dd22</id>
<content type='text'>
This is much more robust and efficient than the simple buffering implementation for larger files. Allocations happen almost exclusively in WalkDir.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/pkg: input iterator via IR cache</title>
<updated>2026-05-31T05:19:27Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-05-31T05:19:27Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=f398f71fa947dbf03587b1a28d314a969aa6b351'/>
<id>urn:sha1:f398f71fa947dbf03587b1a28d314a969aa6b351</id>
<content type='text'>
Primarily useful for garbage collection.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/pkg: content-based dependency substitution</title>
<updated>2026-05-11T15:19:42Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-05-11T10:44:28Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=6e113b88364ade12b26c9f01c43608841b9378df'/>
<id>urn:sha1:6e113b88364ade12b26c9f01c43608841b9378df</id>
<content type='text'>
This change introduces a new fast path for FloodArtifact. It is taken when a curing artifact has identical-by-content controlled relevant inputs and are otherwise identical to an already-cured artifact.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/pkg: record cache variant on-disk</title>
<updated>2026-04-22T15:53:21Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-04-21T02:35:16Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=ceb4d260871119e73688ee99a844b79c94fa5fe6'/>
<id>urn:sha1:ceb4d260871119e73688ee99a844b79c94fa5fe6</id>
<content type='text'>
This makes custom artifacts much less error-prone to use.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/pkg: move IR primitives out of cache</title>
<updated>2026-04-16T16:02:13Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-04-16T15:50:17Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=0ff7ab915b8532f4d025ea1e6376b82cfa765c90'/>
<id>urn:sha1:0ff7ab915b8532f4d025ea1e6376b82cfa765c90</id>
<content type='text'>
These are memory management and caching primitives. Having them as part of Cache is cumbersome and requires a temporary directory that is never used. This change isolates them from Cache to enable independent use.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
</feed>
