Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: Import HAL repo #4

Merged
merged 205 commits into from
Oct 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
205 commits
Select commit Hold shift + click to select a range
f61fc97
Initial commit
inverted-capital Jan 22, 2024
d83dc77
copy helps over
inverted-capital Jan 25, 2024
90d8d9b
fix missing isolate
inverted-capital Jan 25, 2024
b3ee3ce
change path to name of help
inverted-capital Jan 26, 2024
c27acda
add relay
inverted-capital Jan 26, 2024
564e34b
stop goalie endless loops
inverted-capital Jan 26, 2024
672c4b3
login
inverted-capital Jan 26, 2024
708304e
curtains
inverted-capital Jan 30, 2024
7474604
rename
inverted-capital Feb 13, 2024
e7a3292
renames
inverted-capital Feb 21, 2024
15525a1
model correction
inverted-capital Mar 8, 2024
cbd7ec3
fix files
inverted-capital Mar 24, 2024
28c3e05
rename the runners
inverted-capital Apr 22, 2024
b4bacc9
add HAL v0.2
inverted-capital May 21, 2024
32867af
change help format
inverted-capital May 23, 2024
a8b38c2
spelling
inverted-capital May 23, 2024
610c069
Set default entry point
inverted-capital May 27, 2024
a078ea6
Help to update HAL
inverted-capital May 29, 2024
47fcefb
more commands for HAL
inverted-capital May 29, 2024
c62eb7e
formatting
inverted-capital Jun 10, 2024
cb9d656
HAL 3
inverted-capital Jun 23, 2024
4afb4bc
rename
inverted-capital Jun 24, 2024
ca2da83
add commands
inverted-capital Jun 24, 2024
5d7f28b
Update README.md
inverted-capital Jul 7, 2024
bbcfa61
Update README.md
inverted-capital Jul 7, 2024
dc2540f
rename helps as agents
inverted-capital Jul 8, 2024
9e8fe1a
renames for agents
inverted-capital Jul 8, 2024
78bb54a
change runner
inverted-capital Jul 15, 2024
5d8a52e
Update agent-fixture.md
inverted-capital Jul 15, 2024
2045947
Update agent-fixture.md
inverted-capital Jul 16, 2024
ed934ca
Create backchat.md
inverted-capital Jul 16, 2024
13d1e9e
Update backchat.md
inverted-capital Jul 16, 2024
5f3124b
Update backchat.md
inverted-capital Jul 16, 2024
afd74ca
Update backchat.md
inverted-capital Jul 16, 2024
bc6b2ed
Update backchat.md
inverted-capital Jul 17, 2024
3ed944d
Update backchat.md
inverted-capital Jul 17, 2024
a118c64
Update backchat.md
inverted-capital Jul 17, 2024
8413319
Update backchat.md
inverted-capital Jul 17, 2024
56d5e34
Update files.md
inverted-capital Jul 19, 2024
d9528d5
Create topic.md
inverted-capital Jul 19, 2024
f79863b
Create operator.md
inverted-capital Jul 21, 2024
54782e0
Rename operator.md to switchboard.md
inverted-capital Jul 21, 2024
5a1f1bc
Update switchboard.md
inverted-capital Jul 21, 2024
a3a913a
update isolate functions
inverted-capital Jul 21, 2024
0b167f0
rename hals
inverted-capital Jul 21, 2024
d0f2ca5
add hamr
inverted-capital Jul 22, 2024
71dd4dd
erDiagram fault
inverted-capital Jul 22, 2024
adbcd7c
try stop loop
inverted-capital Jul 22, 2024
7cc7923
clean up hamr
inverted-capital Jul 22, 2024
9394091
hamr tuning
inverted-capital Jul 22, 2024
23f8b9d
id generation
inverted-capital Jul 22, 2024
6cb8baf
add PK and FK constraints
inverted-capital Jul 22, 2024
8e97e59
PK generation
inverted-capital Jul 22, 2024
0145fa4
remove logging from hamr
inverted-capital Jul 22, 2024
0b093e4
try get PK generating
inverted-capital Jul 22, 2024
40871e2
ask more questions
inverted-capital Jul 22, 2024
5f9da1a
add public holidays
inverted-capital Jul 22, 2024
d7b95cf
try get public holidays out of the bot
inverted-capital Jul 22, 2024
c3c8e3b
formatting
inverted-capital Jul 22, 2024
987504e
files bot
inverted-capital Jul 22, 2024
f51891e
Force switchboard to call a function
inverted-capital Jul 23, 2024
4f7c376
Update switchboard.md
inverted-capital Jul 23, 2024
ba94a0c
switchboard modifications
inverted-capital Jul 26, 2024
7633901
Create summoner.md
inverted-capital Jul 29, 2024
54aa24f
minor
inverted-capital Jul 29, 2024
ab1bd3a
creatorBotv_0.1
Jul 30, 2024
ec6a990
Merge pull request #1 from TartanMalcolm/main
inverted-capital Jul 30, 2024
0aab6b3
Update switchboard.md
inverted-capital Jul 31, 2024
c4fe472
Update summoner.md
inverted-capital Jul 31, 2024
135f02c
Update switchboard.md
inverted-capital Jul 31, 2024
d2c65bd
Update switchboard.md
inverted-capital Jul 31, 2024
d4496a2
add creatorBot to switchboard
inverted-capital Jul 31, 2024
24b86be
multi prompt story suggestion
inverted-capital Jul 31, 2024
7aedf15
add synth testing agents
inverted-capital Aug 5, 2024
46cb706
add synth
inverted-capital Aug 5, 2024
1f796bc
allow switchboard to receive some instructions
inverted-capital Aug 5, 2024
81564eb
describe system agent
inverted-capital Aug 5, 2024
d60fbf0
Update hamr.synth.md
inverted-capital Aug 5, 2024
a6ea741
add system updater test
inverted-capital Aug 6, 2024
8edad97
rename tests to be *.test.md
inverted-capital Aug 6, 2024
a9089d2
test fixture
inverted-capital Aug 6, 2024
7fd4a5a
rename
inverted-capital Aug 6, 2024
68bd112
add failing test
inverted-capital Aug 6, 2024
937a0b3
throw an error during a test
inverted-capital Aug 6, 2024
93b74b2
handover test
inverted-capital Aug 6, 2024
835817c
Add reasoning to switchboard
inverted-capital Aug 8, 2024
162f0b0
Add Actors sketch
inverted-capital Aug 9, 2024
cca026c
synth format change
inverted-capital Aug 12, 2024
330851c
Test framework basic tests pass
inverted-capital Aug 20, 2024
052c69f
runner update to changed isolate format
inverted-capital Aug 21, 2024
a7bae24
change tps-report isolate
inverted-capital Aug 21, 2024
1fb01c7
Meeting bot tests
inverted-capital Aug 24, 2024
00247cd
update the function call for test assessor
inverted-capital Aug 26, 2024
9190aaf
force case addition
inverted-capital Aug 26, 2024
07f8282
function mapping extensions
inverted-capital Aug 26, 2024
49f47b9
remappings
inverted-capital Aug 26, 2024
9ce9e25
make the file runner call its tools correctly
inverted-capital Aug 27, 2024
d4ce2b0
further mappings updates
inverted-capital Sep 1, 2024
acce317
tweaks
inverted-capital Sep 3, 2024
8988e52
spelling
inverted-capital Sep 3, 2024
d95b705
prompting
inverted-capital Sep 3, 2024
722b06e
new thread feature in backchat
inverted-capital Sep 4, 2024
d644184
reduce switchboard agent
inverted-capital Sep 4, 2024
efc5981
change thread ability
inverted-capital Sep 4, 2024
9230e4e
rename synth
inverted-capital Sep 4, 2024
53f156b
rename assessor in tests
inverted-capital Sep 4, 2024
05f4e69
windows format fix
inverted-capital Sep 4, 2024
01a0712
make agents compile
inverted-capital Sep 5, 2024
0e1f40e
fix remappings
inverted-capital Sep 5, 2024
b852517
add dumbbot
inverted-capital Sep 7, 2024
ee26eb1
Sticky switchboard
inverted-capital Sep 8, 2024
41de523
add format checking file manipulations
inverted-capital Sep 8, 2024
bc9e16b
minor
inverted-capital Sep 8, 2024
16d37d2
enable stateboard
inverted-capital Sep 9, 2024
5d65fc2
Update switchboard.md
TartanMalcolm Sep 9, 2024
5707b00
Merge pull request #2 from TartanMalcolm/patch-2
inverted-capital Sep 9, 2024
b43064b
remappings change
inverted-capital Sep 10, 2024
d364668
Update hamr.md
inverted-capital Sep 10, 2024
0fdc087
Update hamr.md
inverted-capital Sep 10, 2024
6fbe8d8
add o1 preview and mini
inverted-capital Sep 12, 2024
96d9e80
system agent to pull to main branch
inverted-capital Sep 13, 2024
f9dca1c
reduce system prompt
inverted-capital Sep 13, 2024
cdfb66f
use the stateboard more
inverted-capital Sep 13, 2024
acf7592
revert files agent
inverted-capital Sep 13, 2024
5045a6a
Create rawScottNotes.md
TartanMalcolm Sep 13, 2024
d007656
Merge pull request #3 from TartanMalcolm/patch-3
inverted-capital Sep 13, 2024
62e8ec0
Next wish
Sep 13, 2024
e887070
multiple agents feature todo
inverted-capital Sep 15, 2024
f649442
formatting
inverted-capital Sep 16, 2024
fbfbbda
switchboard update
Sep 18, 2024
d91a6ea
Make switchboard selectable as an agent
inverted-capital Sep 18, 2024
90e3283
typo
inverted-capital Sep 18, 2024
2c09ae3
Hamr changes
Sep 20, 2024
bc93dd8
remove invalid isolate
inverted-capital Sep 20, 2024
5855015
Switchboard update to include Priority Rules and Restricted Agents List.
Sep 21, 2024
ac383ee
demote switchboard until it proves itself worthy again
inverted-capital Sep 22, 2024
3f20ea6
router
inverted-capital Sep 23, 2024
84d7fff
router with swallow and rewrite
inverted-capital Sep 23, 2024
59ebc7f
give switchboard tool access
inverted-capital Sep 23, 2024
6e29109
Add router test
inverted-capital Sep 23, 2024
7c46621
clean up agents
inverted-capital Sep 23, 2024
6f33116
try make router switch without extra content
inverted-capital Sep 23, 2024
12400cd
router test
inverted-capital Sep 24, 2024
d441a7d
remove resolve tool from router
inverted-capital Sep 24, 2024
884f774
Sync to add test_gen and switchboard, and get info/agents-list
Sep 24, 2024
0ad08f7
Sync
Sep 24, 2024
6277016
files test
inverted-capital Sep 25, 2024
f05b407
add the merger bot
inverted-capital Sep 25, 2024
2c223fc
test-assessor.md fix
Sep 27, 2024
2058d7a
image generation
inverted-capital Sep 28, 2024
df17459
Work on testing
Sep 29, 2024
ed014e6
add image
inverted-capital Sep 29, 2024
f4a372a
image generation agent
inverted-capital Sep 30, 2024
a7225c5
add imogen to switchboard
inverted-capital Sep 30, 2024
873f838
imogen add stateboard
inverted-capital Oct 1, 2024
6d65548
Bot request for extracting Dave prompts
Oct 1, 2024
7c10eeb
add extra router test
inverted-capital Oct 1, 2024
b172a3b
Expand test format to include Before statements
inverted-capital Oct 2, 2024
eb8161c
testing the tester
inverted-capital Oct 2, 2024
0f1bb9e
edits from during video call
inverted-capital Oct 2, 2024
1a0f81c
expand test-file-runner test
inverted-capital Oct 2, 2024
0b00664
test file runner
inverted-capital Oct 2, 2024
d39ca67
Refactored 'info/test-format.md' to provide clear instructions for AI…
inverted-capital Oct 3, 2024
de91c0f
remove colons
inverted-capital Oct 3, 2024
cb18df6
TEST DRAFT
Oct 3, 2024
8ea703b
Test work draft under scott_
Oct 3, 2024
7bfb1e2
example using drone interface
inverted-capital Oct 5, 2024
66f22d5
DC Definitions adding capabilities concept
Oct 6, 2024
5e5b532
Shits and giggles shot at just sticking in DC definitions and ERD as …
Oct 6, 2024
bb8e937
ERD to DC Defs
Oct 6, 2024
1092b0d
make test-file-runner run tests in parallel
inverted-capital Oct 6, 2024
de12f2b
test file tweaks
inverted-capital Oct 6, 2024
183d00c
remove confirmCaseCount function
inverted-capital Oct 7, 2024
e247a39
formatting
inverted-capital Oct 7, 2024
712d722
merge the upsert and addCase functions
inverted-capital Oct 7, 2024
cc4d292
ensure no parallel tool calls
inverted-capital Oct 7, 2024
ef2aa71
add topics test
inverted-capital Oct 7, 2024
e77c5c0
reasoner with napp calls
inverted-capital Oct 8, 2024
528c6f1
add image generation
inverted-capital Oct 8, 2024
a66ca11
loop break
inverted-capital Oct 8, 2024
1489df7
Update example-drone.md
inverted-capital Oct 9, 2024
c0703c7
reasoner not formulating queries as a question
inverted-capital Oct 10, 2024
9bc9b1b
add descriptions for napp calls
inverted-capital Oct 10, 2024
d848806
reasoner
inverted-capital Oct 10, 2024
3a31752
names of agents in descriptions
inverted-capital Oct 10, 2024
15668c1
Give names to reasoners
inverted-capital Oct 10, 2024
5b40b6a
remove names on o1 models
inverted-capital Oct 10, 2024
7a88921
stop loops in reasoner
inverted-capital Oct 10, 2024
6e05e87
let reasoner know about threads
inverted-capital Oct 11, 2024
78f23ad
spelling
inverted-capital Oct 11, 2024
7c52e81
spelling
inverted-capital Oct 11, 2024
3a5e580
reasoner loops
inverted-capital Oct 14, 2024
398c6b8
reasoner upgrade to 4o
inverted-capital Oct 14, 2024
9250ea1
correction to model
inverted-capital Oct 15, 2024
b30c81f
reasoner
inverted-capital Oct 15, 2024
fea2dc1
Commit following Napp structure agreement.
Oct 16, 2024
24527c5
spelling
inverted-capital Oct 17, 2024
5380d67
add reasoner fault
inverted-capital Oct 18, 2024
ec95a1c
Router.md test and supporting files
Oct 19, 2024
67510a8
copy file back after rename to make test-file-runner resolve correctly
inverted-capital Oct 19, 2024
7bc7666
prepare to explode HAL into napps
inverted-capital Oct 24, 2024
abef8f6
prepare to explode HAL into napps
inverted-capital Oct 24, 2024
4f18b45
Merge remote-tracking branch 'HAL/main' into import-HAL
inverted-capital Oct 24, 2024
21b63fb
mv
inverted-capital Oct 24, 2024
292d079
exclude HAL and artifact from typos and fmt checks
inverted-capital Oct 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/typos.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@

[files]
extend-exclude = []
extend-exclude = [
"_import-HAL",
"_import-artifact"
]
Empty file.
Empty file.
661 changes: 661 additions & 0 deletions _import-HAL/LICENSE

Large diffs are not rendered by default.

165 changes: 165 additions & 0 deletions _import-HAL/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
Isolates: pieces of conventional code packaged in such a way as to be callable
by AI models. These code calls can include API calls to external services and
other side effect inducing things.

Helps: pieces of text that contain instructions for an agent to expand and fine
tune their abilities to get jobs done, instead of packing everything into the
system prompt. The instructions might involve calling on other agents

Agent: consists of a system prompt, optionally isolates, a filesystem, and
helps. When they are invoked using an AI model, the invocation becomes a Thread.

Threads: A running agent, containing stateful conversation and the filesystem in
a possibly mutated state. The index of threads is available to Backchat.

Backchat: A special thread aware thread designed for navigation thru all the
threads, branches, commits, and files.

Actor: A branch representing an identity on the system. This is commonly a
human, but can also be a machine. It represents a permission domain. It contains
one or more machines.

HAL: the base agent that everyone starts with

# Helps

If AI is a universal function that represents a summation of every function ever
written, then helps are the specific parameters with which to call that function
to get a reliable result back

Helps are required to be in machine readable format since loading them up and
then passing thru an AI just to get out the instructions seems frivolous.

We can present them for being edited using human friendly mechanisms, but they
do need to be loaded by machine ultimately, so it saves time to store them in
this machine readable fashion.

They represent a set of instructions for how to be called by an AI, including
the tools that that AI needs.

The help runner is a standard piece of code that knows how to execute helps in
this format, making it possible to supply it with a different help and get
wildly different behaviours out of it. It can support a range of different
models that can be drawn upon, and can have any range of tooling supplied to
make conventional function calls.

Helps can be nested so that they can reply on other helps, like dependencies.

It is how to call something, not how to get something that will be called a
certain way - it is function invocation. It is a collection of function
invocation parameters, tested to have reliable outputs, indexed by the problems
they are trying to solve, to make it more accessible to an AI trying to solve
problems on the fly. This is different to npm, where npm is a collection of
things to be invoked, not the invocations themselves, altho npx acts in the same
way.

The commands are isolates - pieces of code that follow a standard format for
running in a git based system. The runner is an isolate too, but it is distinct
in that it is used to boot from ?

The ability to call another help file is provided to each help file optionally.

They're almost like bottled function parameter calls that have some known good
effect, where the function always takes just a single text parameter ?

Isolates have code, help have function instructions to call that code.

Helps are the interface between human / AI readable and machine code readable.

Think helps are only ever invoked with a single parameter - the text prompt.
They are natural language interpreted functions.

The return for calling a help as a function should have a standard format.
status: DONE | PENDING | ERROR | NOCANDO output: the NL output of the function -
there seems no point using json or any other format. To output a given format we
would need to have called a tool that outputs that format. NOCANDO means that
what was asked for is outside the competency envelope of this help. PENDING
means it needs more information to continue.

Might consider returning a confidence rating with results.

Runners are a subset of isolates, and are called by isolates, so have access to
the io hooks that isolates do. They have a different interface and specialize in
the operation of help files, where the help is dynamic.

## Sections

All sections are optional, and with nothing specified, a deprompted AI will be
called with the default model.

### Config

This is a freeform area that can be used to store any data needed for the
execution of the help. We might move this section to be inside of Runner

### Runner

Different AI models need different runners. The type of runner needs to be given
with the help so we know what to call. In some cases we may need to go fetch
more code to be able to run these other AI models in an isolated environment.

It says that this piece of code is supposed to be run using this Help, which
includes this set of config parameters

### Commands

This the list of function names and paths to access the commands that will be
run. These will be loaded up to be available to the AI to call as it wishes. The
API defined at this location will inform the model of the parameter format and
purpose.

### Instructions

This is the system prompt given to the AI that will run this help. Paragraphing
is done by writing as array entries, which are all joined with a newline

### Done

This is a check for when a complex operation has been done.

### Examples

Helps with making this help retrievable in goal space, but also

### Tests

A test suite can be either referenced or written here, so that when the help is
being tested, it will be exercised by the contents of this section. These would
take the form of an input text prompt and some expected output, where the
overall Done condition is also evaluated.

## The Runner conventions

If make a reply convention where if the runner needs more info, it invokes the
moreInfo() function and then it gets passed back in to the caller, which then
figures out what it needs and then makes another call back. This call back is
crossed over as the response to the original call, so the original call can then
be resumed with the new information.

We can have similar conventions for progress updates being sent back for long
running processes.

The chat session is preserved by way of it being dedicated and in its own
branch. This might mean that actions should be prefixed by the branch that
called them ? or can they be blanked upon merge, since the history can be found
by tracing the files ? Tracing branches means the actions would be already
filtered by the process that was calling them.

## Examples

### Using Help as the user prompt

When the system first boots, we have to support a prompt response system. This
is provided under the hood by a help. This first help is the goalie, and it will
loop around using the 'stuck-finder' function until it has a help that it is
happy about using. Once it is done, it will call the runner with the path to the
help that it found.

At the start, the stuck finder function is just an AI function

### Using Help as pure executable

We should be able to specify pure code that runs using the help format. This
would be no different from an isolate. Some commands, in fact, will be helps at
the end of IO queues that can called on directly to perform tasks, rather than
dynamically like helps do - ie: they are permanent functions, not jitters.
9 changes: 9 additions & 0 deletions _import-HAL/agents/agent-fixture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
commands:
- io-fixture:local
- io-fixture:error
---

Your name is 'Assistant'

ALWAYS be as brief as possible
13 changes: 13 additions & 0 deletions _import-HAL/agents/cheeky-bstrd.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
description: A specific bot to deal with only questions on the pre-specified list below.
config:
model: gpt-4o
---

You are a humourous bot that CAN ONLY answer questions on three topics. If the user asks any question on any other topic, you are to say "Duh? How would I know?"

Here are the three topics which you can answer:

1. Questions concerning the fit of clothing for women. You are to be polite, and act like a gay man who is her best friend.
2. Questions concerning politics. You are to be a comedian when replying.
3. Questions concerning lamb rogan josh. You are always to respond with something like "Jude makes a great lamb rogan josh. Why are you asking me? Ask her!"
5 changes: 5 additions & 0 deletions _import-HAL/agents/create-agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Give it the format of a blank file. Teach it how to write these files out.Once
written, it is automatically picked up by the help-finder. We should guide the
user thru how to run some tests, and show the default tests that are
automatically running on it, with the examples being used to test its outputs
and expectations.
Loading